赞
踩
目录
1、获取安装程序
a、官网地址:https://git-scm.com/downloads
b、网盘地址:百度网盘 请输入提取码 xc5d
2、双击按照默认配置安装即可,安装目录:D:\software\Git、安装完成右键出现两个图标 【Git Bash、Git GUI】
3、首次安装设置,右键打开:Git Base Here
git config --global user.name "zhanhj" //设置用户名
git config --global user.email "zhanhj@xxxxx.com" //设置邮箱Gitlab注册的邮箱
此时git已经安装成功,可以通过http的方式克隆提交代码。
4、设置git的SSH方式
左面右键选择git bash,输入一下命令:
ssh-keygen -t rsa -C "zhanhj@xxxxx.com" //生成Git本地密匙,
三下回车,在你的 C:\Users\用户名.ssh 的路径下生成一个公钥的私钥
登录GitHub: Where the world builds software · GitHub官网、右上角图标----setings--SSH and GPG keys--new SSH keys 配置公钥
由于sourceTree的安装过程中有内嵌git的安装,所以我们不需要单独到git的官方网站上去下载安装git,直接通过sourceTree的安装来安装git也可以,使用本地自己的git也可以。
1、获取安装程序
官网地址:Sourcetree | Free Git GUI for Mac and Windows
网盘地址:百度网盘 请输入提取码 ymur
2、注册的时候需要打开外国的网站. 因此要安装时需要绕过这一步才能使用。
2、免费注册安装
C:\Users\zhanhj\AppData\Local\Atlassian\SourceTree目录下添加accounts.json文件
accounts.json文件上面的百度网盘下载
3、双击安装文件,点击跳过即可
配置名字和邮箱地址
1、配置插件Beyond Compare 4
2、配置用户名密码
如果是通过https去克隆Gitlab上的代码,每次拉取,提交等都要输入密码。如果通过https的路径克隆项目,SSH无需配置
(SSH配置:Gitlab的登录用户名和密码,用户名非邮箱,不需要每次输入密码)
【Gitlab和sourcetree安装配置使用指导 - 百度文库】
git config --list //查看设置的配置
git config --list --show-origin //查看配置文件地址
连续按三次回车,这里设置的密码就为空了(否则每次提交都要输入密码),并且创建了key。
最后C:\Users\zhanhj\.ssh目录下得到了两个文件:id_rsa、id_rsa.pub、known_hosts
2、Gitlab添加本地Git公匙【id_rsa.pub】
登录Gitlab--用户设置找到SSH keys--点击ADD SSH key--输入sourecetree生成的公私---Key-Add key即可。
至此,git及gitlab相关配置已经全部完成,接下来可以使用git从gitlab上克隆代码来测试相关安装和配置的正确性
git clone git地址
3、配置sourecetree私匙
sourecetree--工具--选项--一般 --ssh密匙--设置Git私匙文件--设置项目目录--点击确定生成即可
一定要选择OpenSSH,路径配置Git生成的私匙
1、git安装后-指定名称和邮箱
- $ git config --global user.name "Your Name" //设置用户
- $ git config --global user.email "email@example.com" //设置邮箱
2、创建版本库
- $ git --version //查看版本
- $ mkdir learngit //创建
- $ cd learngit //使用
- $ pwd //查看当前目录
- $ git init //初始化,生成.git文件(若该文件隐藏,则使用ls -ah)
3、把文件添加add和提交commit到版本库(重点)
- $ git add test.txt //添加
- $ git commit -m "wrote a test file" //提交
- $ git commit -m "add 3 files." //一次性提交多个文件
注意:必须在当前版本库和当前目录下
4、版本控制(重点)
- $ git log //查看提交历史记录,从最近到最远,可以看到3次
- $ git log --pretty=oneline //加参,简洁查看
- $ git reflog //查看每一次修改历史
- $ cat test.txt //查看文件内容
- $ git status //查看工作区中文件当前状态
- $ git reset --hard HEAD^(HEAD~100)(commit id) //回退版本
- $ git checkout -- test.txt //丢弃工作区的修改,即撤销修改
- $ git reset HEAD test.txt //丢弃暂存区的修改(若已提交,则回退)
5、删除文件
- $ rm test.txt //直接删除
- $ git rm test.txt
- $ git commit -m "remove test.txt" //删错了,恢复
- $ git checkout -- test.txt
6、远程仓库(重点)
- $ ssh-keygen -t rsa -C "youremail@example.com" //创建SSH Key
- $ sh -T git@github.com //ssh连接测试github命令,需要github配置公钥
- $ git remote add origin git@github.com:Daisy/AKgit.git //关联
- $ git push -u origin master //将本地内容推送到远程仓库(第一次)
- $ git push origin master //将本地内容推送到远程仓库(之后)
- $ git remote -v //查看远程仓库信息
- $ git remote rm origin //删除远程仓库(解绑)
- $ git clone git@github.com: Daisy/AKgit.git //克隆远程仓库//克隆之后使用和查看
- $ cd gitskills
- $ ls
- $ git remote //查看远程库的信息
- $ git remote -v //查看远程库的详细信息
7、多人协作
- $ git checkout -b dev //创建并切换到分支dev //创建并切换到分支dev,同上
- $ git branch dev //创建
- $ git checkout dev //切换 //新版本
- $ git switch -c dev //创建并切换到分支dev
- $ git switch master //直接切换分支
- $ git branch //查看当前分支
- $ git merge dev (--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
- $ git branch -d dev //删除dev分支
- $ git stash //将现场储藏起来
- $ git stash list //查看储存的工作现场 //恢复和删除
- $ git stash apply
- $ git stash drop //恢复并删除
- $ git stash pop
- $ git cherry-pick 4c805e2 //复制修改
- $ git push origin master(dev) //推送分支
- $ git checkout -b dev origin/dev //创建远程origin的dev分支到本地
- $ git pull //抓取分支(解决冲突)
- $ git branch --set-upstream-to=origin/dev dev//指定本地与远程dev的链接
- $ git rebase //把本地未push的分叉提交历史整理成直线
8、标签管理
- $ git tag v1.0 //打标签
- $ git tag -a v0.1 -m "version 0.1 released" 1094adb //指定标签名和说明文字
- $ git tag //查看所有标签 //若是忘记打,则查找历史提交commit id ,再打上
- $ git log --pretty=oneline --abbrev-commit
- $ git tag v0.9 f52c633
- $ git show v0.9 //查看标签详细信息
- $ git tag -d v0.1 //删除标签
- $ git push origin v1.0 //推送标签到远程
- $ git push origin –tags //推送全部本地标签//删除标签(若已推送到远程,先本地删除,再远程删除)
- $ git tag -d v0.9
- $ git push origin :refs/tags/v0.9
9、自定义git
- $ git config --global color.ui true //让git显示颜色
- $ git config --global alias.st status //配置别名
- $ git config --global alias.unstage 'reset HEAD' //配置操作别名
- $ git config --global alias.last 'log -1' //显示最后一次提交信息
- $ git last //显示最近一次的提交
- $git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" //颜色
- $ cat .git/config //查看每个仓库的git配置文件
- $ cat .gitconfig //查看当前用户的git配置文件
GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对。
使用 HTTP 协议进行 clone、push 却没有任何问题。试了各种方法才发现,这个密码其实是 GitLab 所在的 Linux 上的一个账户名为 git 的账户密码。这个账户是怎么来的呢?实际上,在第一次使用命令 gitlab-ctl reconfigure 初始化 GitLab 配置时,GitLab 会自动为 Linux 创建五个账户,分别是:
git、 gitlab-redis、gitlab-psql、gitlab-prometheus、gitlab-www
因为这些账户在被创建时,GitLab 并没有提示我们输入密码,所以我们并不知道密码,或者它们本来就没有密码。不过,我们在知道账户名的时候就可以强制改密码了。可以使用如下命令来更改账户 git 的密码:passwd git
解决GitLab中使用SSH的git clone总是提示输入密码且任何密码都不对_暗诺星刻的博客-CSDN博客_git ssh密码错误
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。