分支 branch
一、关于分支
1、新建本地分支
git branch <分支名>
ps:该命令只是创建分支,不会切换。切换使用git checkout <分支名>
2、查看本地已经存在的分支
git branch
3、查看远程分支
git branch -r
4、查看本地分支和远程分支
git branch -a
二、操作分支
1、重新命名分支
git branch -m | -M 旧分支名 新分支名
如果分支存在,使用-M
强制命令
2、删除本地分支
git branch -d | -D 分支名
3、删除远程分支
git branch -d -r 分支名
删除远程分支后,还要推送到服务器才可以,还要执行下面命令
git push origin:分支名
ps: 关于分支选项解释
-d 删除
-D (--delete--force)强制删除
-f (--force)强制
-m (--move)重命名
-r (--remote)远程
-a (--all)所有
git remote
git remote 不带参数,列出已经存在的远程主机名
git remote
git remote -v 查看远程主机的网址
git remote -v
git clone
git clone url
远程主机名会自定被Git命名为origin
如果想要使用其他主机名,需要用-o
选项
比如:
git clone -o 主机名 url
git fetch
git fetch 是将远程分支拉回本地。
git fetch <远程主机名>
代表将远程分支的更新拉回本地(当前分支)。
如果指定远程特定分支:
git fetch <远程主机名> <远程分支名>
如果将远程分支拉取到本地指定分支,如果本地没有,则会新建该分支。
git fetch <远程主机名> <远程分支名>:<本地分支名>
比如:将远程主机名为origin的Apollo分支拉取到本地Apollo分支(本地没有该分支)
git fetch origin Apollo:Apollo && git checkout Apollo
以上命令相当于
//新建本地分支
git branch Apollo
//切换本地分支
git checkout Apollo
//拉取远程origin主机的Apollo分支的更新
git fetch origin Apollo
git pull
git pull是取回远程主机某个分支的更新,再与本地分支合并。
git pull <远程主机名> <远程分支名>:<本地分支名>
比如取回主机名为origin的dev分支与本地的iteration合并
git pull origin dev:interation
如果远程分支与本地分支同名,则冒号后的可以省略
git pull <远程主机名> <远程分支>
如果远程分支与本地分支存在跟踪关系,则远程分支名也可以省略
git pull origin
如果当前分支只有一个追踪分支(即:本地分支只有一个同名的远程分支追踪),那么主机名都可以省略
git pull
git push
git push 是将本地文件提交到远程仓库
1、将本地指定分支提交到远程主机名为origin的远程分支上。
git push <远程主机名> <本地分支名>:<远程分支名>
2、如果省略冒号后的远程分支名,则意思是将本地分支提交到和本地分支同名的远程分支上。如果该远程分支不存在,则会被新建。
git push <远程主机名> <本地分支>
比如:
git push origin master
上面命令表示将本地的master分支提交到origin主机的远程master分支上。
3、如果省略本地分支名,则表示删除指定的远程分支(因为这等同于推送一个空的本地分支到远程分支)。
git push <远程主机名>:<远程分支>
比如:
git push origin :master
# 等同于
git push origin --delete master
上面命令表示删除origin主机的远程master分支。
git本地新建一个分支后,必须要做远程分支关联。
git branch --set-upstream-to=origin/Apollo Apollo
然后再次 git pull
git pull
-- set-upstream 去跟踪远程分支。
git撤销merge操作。如果merger后没有做任何操作,则执行以下操作:
git merge --abort
或者
git reflog 查看最新提交记录的版本号。
git reset --hard '版本号'
git log 查看提交记录
git log -1 HEAD 查看最近一次提交记录