1、克隆指定分支代码
git clone -b develop https://gitee.com/aiyuangong/tokenworld-java-api.git
说明: -b 指定克隆的分支,如果没有此参数,就克隆默认的分支,一般为master分支。
2、切换开发分支
git checkout 要切换至的分支名
3、更新拉取分支
#将数据拉取到本地仓库,并不自动合并
git fetch
# 将数据从远程仓库更新拉取到本地仓库,并将自动合并至当前分支,相当于是git fetch + git merge, 可能会产生冲突,需手动解决
git pull
4、查看分支
#查看本地所有分支
git branch
#查看远程所有分支
git branch -r
#查看本地和远程的所有分支
git branch -a
5、新建分支
创建本地分支
#从当前分支copy分支develop
git checkout -b develop
或者
git branch develop
将本地新的分支推送至远程
git push origin develop
说明:此时本地分支与远程分支develop并未关联,执行git pull后会发现出现以下提示:
$ git pull
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> develop
可以按照操作提示,关联本地分支与推送到远程的分支
git branch --set-upstream-to=orgin/develop
6、删除分支
删除本地分支
git branch -d <BranchName>
如需同时删除远程分支,则需要推送到远程分支
git push origin --delete <BranchName>
有时候,会发现很多在远程仓库已经删除的分支在本地通过git branch -a或者git branch -r命令依然可以看到,可以使用以下命令查看操作提示:
git remote show origin
根据提示,可以使用以下命令清除:
git remote prune origin
7、提交代码
#查看代码的修改状态
git status
#暂存需要提交的文件
git add <file>
#提交已暂存的文件
git commit
#推送到远程
git push
或
git push origin <本地分支名>
8、合并代码
#先切换到要进行合并操作的分支
git checkout <Branch Need to Merge to>
#合并操作
git merge --no-ff <Branch Need to Merge from>
#合并完成,如无冲突则可以直接推送至远程
git push
如果在合并之前就已经知道 已经落后于,可以使用git rebase先重新同步原分支。
比如我们从develop分支,拉取了一个featue-200分支,当我们在feature-200分支开发完成想将其合并回develop分支时,发现develop分支已经被别人提交了其他新的代码,这时我们可以这样做:
#切换到develop分支
git checkout develop
#同步develop分支最新代码
git pull
#切换回feature-200分支
git checkout feature-200
#重新同步develop分支
git rebase develop
#强制推送
git push -f
9、贮藏代码
当本地存在未commit的代码时,又需要切换到另一个分支去开发时,可以选择贮藏代码
#在存在未commit的代码分支上
git stash
#要重新获取贮藏的代码
git stash pop
10、查看/更换用户名与邮箱
注意:win10 系统里有凭证管理器,会记录相应git的账户和密码,如修改这个,需要删除凭证再来添加修改。
10.1 查看当前的
git config user.name
git config user.email
10.2 查看全局的
git config -- global user.name
git config -- global user.email
10.3 更换局部的
git config user.name <Your UserName>
git config user.email <Your Email>
10.4 更换全局的
git config --global user.name <Your UserName>
git config --global user.email <Your Email>
10.5 使用已有的凭证
git config credential.helper store
说明:在jenkins中shell脚本用git tag新建标签后推送至远程时有用
11 查看远程仓库地址
git remote -v
12 创建Git仓库
mkdir <项目工程文件夹>
cd <项目工程文件夹>
git init
touch README.md
git add README.md
git commit -m "first commit"
#要推送的远程服务器地址
git remote add origin https://xxx.com/xxx/xxx.git
git push -u origin master
13 多次Merge Request合并
当需要进行合并的分支存在多个提交节点时,可以通过git rebase命令来合并多个提交节点。
假如我们从develop分支拉取了一个feature-100分支,在feature-100分支中,我们提交了2个commit,现在我们需要将feature-100分支合并回develop分支中,此时为便于审核查阅提交记录,我们可以将那2个commit合并。
#n代表要合并的提交节点数量,这里为2
git rebase -i HEAD~n
然后,在上图打开的窗口里,只保留最前面的一条提交历史记录。操作方法就是交原来记录里的pick单词修改成s。
紧接着保存退出,进入了注释记录页面,这里可以修改成只保留一条记录。
用#注释掉不要的注释记录,然后保存退出
最后,多次请求合并会导致本地分支与远程分支不一致,此时需要强制推送
git push -f
可以看到,merge request中的提交记录只有1条了