Loading

Git(三): git的分支操作

git的分支操作

  软件项目中启动一套单独的开发线的方法,可以很好的避免版本兼容开发的问题,避免不同版本之间的相互影响,封装一个开发阶段,解决bug的时候新建分支,用于对该bug的研究;

 

  git中跟分支相关的命令

  • git branch  
# 列出所有本地分支
git branch

# 列出所有远程分支
git branch -r

# 列出所有本地分支和远程分支
git branch -a

# 新建一个分支,并切换到该分支
git checkout -b [branch]

# 新建一个分支,指向指定commit
git branch [branch] [commit]

# 新建一个分支,与指定的远程分支建立追踪关系
git branch --track [branch] [remote-branch]

# 切换到上一个分支
git checkout -

# 建立追踪关系,在现有分支与指定的远程分支之间
git branch --set-upstream [branch] [remote-branch]

# 删除分支
git branch -d [branch-name]

# 删除远程分支
git push origin --delete [branch-name]
git branch -dr [remote/branch]

# 可以查看本地分支对应的远程分支
git branch -vv

 

  • git checkout  
    • 操作文件
git checkout filename 放弃单个文件的修改

git checkout . 放弃当前目录下的修改
    • 操作分支
git checkout 分支名  切换分支

git checkout -b master 如果分支存在则只切换分支,若不存在则创建并切换到master分支,repo start是对git checkout -b这个命令的封装,将所有仓库的分支都切换到master,master是分支名

如果在分支上面对文件进行修改之后,没有commit就切换到另外一个分支b,这个时候会报错,因为没有commit的文件在切换分支之后会不覆盖,所以Git 报错提示;

git checkout -f 分支名 强制切换到分支,如果当前有为提交的变更,会直接丢弃,-f 参数一定要非常非常小心使用,一般情况下不建议使用,除非真的要强制去执行;

 

  • cherry-pick合并操作
# 单个commit合并
git cherry-pick [commit]

# 多个连续commit合并,不包含第一个commit,即(commit, commit]
git cherry-pick [commit]..[commit]

# 多个连续commit合并,包含第一个commit,即[commit, commit]
git cherry-pick [commit]^..[commit]

 

posted @ 2019-09-13 15:02  街头卖艺的肖邦  阅读(284)  评论(0编辑  收藏  举报