查看远程分支
切换到项目所在的目录下执行命令:
git branch -a
可以看到:
- master
remotes/origin/HEAD -> origin/master
remotes/origin/apple-release
remotes/origin/babana-release
remotes/origin/master
查看本地分支
git branch
可以看到:
- master
创建并切换分支
git checkout -b branch_name
切换分支
1.git checkout -b babana-release/babana-release
作用是checkout远程的babana-release分支,在本地起名为babana-release分支,并切换到本地的babana-release分支
2.git checkout -b origin/cherry-release
作用和上一个相同
可以看到
Switched to a new branch ‘babana-release/babana-release’
Switched to a new branch ‘cherry-release’
再执行查看本地分支:
git branch
- babana-release/babana-release
master
提交代码
git branch
git add .
git commit -m “”
git push origin babana-release
分支切换及创建
Git branch branchName(在本地创建一个命名为branchName的分支)
git branch 查看当前自己所在的分支
git branch -a 查看服务器的所有分支以及自己当前所在的分支
git push origin branchName(把命名为branchName的本地分支推送到服务器)
git checkout --track origin/branchName (切换为远程服务器上的命名为branchName的远程分支)
如果你的搭档要把他本地的分支给关联到服务器上命名为branchName的远程分支,请执行以下操作:
git branch --set-upstream localBranchName origin/branchName (为本地分支添加一个对应的远程分支 与之相对应)
->这行命令用来关联本地的分支与服务器上的分支
完成以上操作之后,就可以进行提交代码了,但是在提交代码之前,你要确定你当前所在的分支
git push origin branchName(提交代码到远程服务器上命名为branchName的分支上)
git pull origin branchName (从远程分支上拉取代码)
合并代码
1分别去要合并的分支 执行git pull --rebase
2切换到分支 执行 git rebase master
3 解决冲突
4 git add .
5 git rebase --continue
6 git push -f
7 去master 执行 git rebase 分支
回退到某个版本
git reset --hard aed2c0038aaa3b7eb66a0e057b9b521ae49472a3
合并分支
M B (B分支合到M分支)
1.checkout M B 两分支 都pull --rebase (拉到最新)
2.chekout 到B 分支 , git rebase M
3.出现冲突 解决冲突 , 然后 git add .
4.然后 git rebase --continue 临时冲突分支消失
4 然后 git push -f 强推到远程分支库
5.然后checkout 到 M 分支
6.然后 git rebase B (将B分支合并到M分支)
7.然后提交代码 git push
git 合并成一个提交
1.get reset 要提交到的版本号
2.git add .
3.git commit -m 提交信息
4.git push -f
5.拉代码 git reset --hard 要提交到的版本号
6.git pull --rebase
将某一次提交合并过来
git cherry-pick 2a9c8d310f3b
删除远程分支:
git push -d origin lzl-fig-release-majia
git 标签的使用
用来给历史中的某一次提交打上一个标签,常用来标记版本发布节点
列出标签: git tag 这个命令以字母顺序列出标签
也可以用特定的模式查找标签:git tag -l ‘v1.8.5*’
创建标签:git tag v5.5.2
给某次提交打标签:git tag -a v5.5.2 9fadc34s3
提交标签:git push origin v5.5.2 或者 git push origin --tags
删除本地仓库标签:git tag -d tagName
删除远程仓库标签:git push origin :refs/tags/tagName
查看提交历史:
git log
git log --pretty=oneline
其他
1.checkout单独的文件
git checkout your_file_path
2.查看文件的不同
git diff your_file_path
3.回退版本
git reset --hard f1ed292f2
4.取消代码合并
git rebase --abort
5.解决问题之后重新合并
git rebase --continue
6.git 取消追踪某个文件
git update-index --assume-unchanged your_file_path
恢复对某个文件的追踪
git update-index --no-assume-unchanged your_file_path
7.git还原某个文件
git checkout <历史提交的hash值> 文件的绝对路径