六、分支与标签
1、创建新分支
基于当前分支创建新分支
git branch 新分支 复制代码
基于指定分支创建新分支
git branch 新分支 已有分支 复制代码
基于某个 commit 创建分支
git branch 新分支 某个 commit 的id 复制代码
创建分支并且切换到该分支
git chechout -b 新分支 复制代码
2、列出分支
列出本地分支
git branch -v 复制代码
列出本地和远端分支
git branch -av 复制代码
列出远端所有分支
git branch -rv 复制代码
列出名称符号某样式的远端分支
git branch -rv -l '某样式' 复制代码
3、删除分支
安全删除本地某分支
git branch -d 要删除的分支 复制代码
强行删除本地分支
git branch -D 要删除的分支 复制代码
删除已合并到 master 分支的所有本地分支
git branch --merged master | grep -v '^\*\| master' | xargs -n 1 git branch -d 复制代码
删除远端 origin 已不存在的所有本地分支
git remote prune origin 复制代码
4、打标签
从 commit 打上标签
git tag 标签名 commit 的id 复制代码
七、两分支之间的集成
1、把 A 分支合入到当前分支,且为 merge 创建 commit
git merge A分支 复制代码
2、把 A 分支合入到 B 分支,且为 Merge 创建 commit
git merge A分支 B分支 复制代码
3、把当前分支基于B分支做 rebase,以便把B分支合入到当前分支
git rebase B分支 复制代码
4、把A分支基于B分支做rebase,以便把B分支合入到A分支
git rebase B分支 A分支 复制代码
5、用 mergetool 解决冲突
git mergetool 复制代码
八、和远端交互
1、列出所有 remote
git remote -v 复制代码
2、增加 remote
git remote add url地址 复制代码
3、删除 remote
git remote remove remote的名称 复制代码
4、改变 remote 的name
git remote rename 旧名称 新名称 复制代码
5、把远端所有分支和标签的变更都拉到本地
git fetch remote 复制代码
6、把远端分支的变更拉倒本地,且 merge 到本地分支
git pull remote名称 分支名 复制代码
关于 pull 和 fetch 的区别不懂可以看这篇文章从0学习Git:详解git pull和git fetch的区别
7、把本地分支 push 到远端
git push remote名称 分支名 复制代码
8、删除远端分支
git push remote --delete 远端分支名 或者 git push remote:远端分支名 复制代码
9、向远端提交指定标签
git push remote 标签名 复制代码
10、向远端提交所有标签
git push remote --tags 复制代码
总结
如果把这些命令掌握了,那么 git 就顺手拈来了,不过很多命令是比较容易忘的,所有还是比较需要一份 git 手册,以后用到的时候多查几次,多用几次命令,相信就能够记住了。
不过单单会命令不知道原理的话还是不大行,至于原理,可以通过网上找文章慢慢了解,当然,如果有需要,我后面也会分享 git 的一些原理,让大家从本质上读懂 git。