git--(3)分支 合并
git branch test //新建分支 git branch //列出分支 git branch -r //列出远程分支 git branch -m | -M oldbranch newbranch //重命名分支,如果newbranch名字分支已经存在,则需要使用 -M强制重命名,否则,使用-m进行重命名 git branch -d | -D branchname //删除远程 branchname分支
git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附注标签
git tag v0.1.2 -light //轻量标签 git tag -a v0.1.2 -m "0.1.2版本" //附注标签 //创建附注标签时,参数a即annotated的缩写,制定标签类型,后附标签名。参数m指定标签说明,说明信息会保存在标签对象中。 git log --oneline --decorate --graph --all //查看版本历史示意图 git tag "v0" 51bcb0d git config --global alias.lol "log --oneline --decorate --graph --all"//起别名 git checkout test //切换分支到test上
如果我们不想提交文件 却想切换分支
git stash save -a "stash1" //藏匿内容 git stash list //查看藏匿什么东西 git stash pop --index stash@{0} //还原藏匿的东西 删除藏匿区内容 git stash apply --index stash@{0} //还原藏匿的东西 git stash drop stash@{0} //删除藏匿区内容 git stash clear //清理多个stash git merge branchName //本地合并分支
1)fast-farword merge
master分支衍生出来的
2)non-fast-farword merge
三方合并分支
git checkout --master.txt //除了切换分支 可以用暂存区的内容覆盖工作区的内容 git reset master.txt //还原暂存区 git checkout HEAD --master.txt //还原其他版本的引用 git clean //清除没有跟踪的文件 git clean -n //查看没有跟踪的文件 git clean -f //删除内容 git clean -n -x//查看将要被移除.gitignore指定的不提交文件 git clean -X -f//删除.gitignore git revert HEAD//产生新的提交
Git fetch origin master //获取远端仓库的所有内容,包括所有分支内容 git log -p master..origin/master // 比较本地的master分支和origin/master分支的差别 git merge origin/master //合并 git fetch origin master:tmp git diff tmp git merge tmp //从远端获取最新的版本到本地的tmp分支上,之后进行比较合并。 git pull 是git fetch 和 git merge的操作合并 git push <远程主机名> <本地分支名>:<远程分支名>
分支推送顺序的写法是<来源地>:<目的地>,所以git pull是<远程分支>:<本地分支>,而git push 是<本地分支>:<远程分支>.
git push orgin master
将本地分master分支推送到origin筑基的master分支。如果后者不存在,则会被新建。
如果省略本地分支名,则表示删除指定远程分支,因为这等同于推送一个空的本地分支到远程分支。
git push origin : master //等同于 git push origin ---delete master
git push --delete origin feacher
//删除远程分支
git push --tags