git--(3)分支 合并

时间:2024-04-24 13:37:19
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