1.创建一个新的远程分支
可以先将远程分支克隆到本地,进入本地分支,以该分支为基础建立一个新分支,然后切换到这个分支,将这个分支推送到远程,再建立远程和本地的关联,从而完成新建了一个远程分支。
第一步:git branch branchName
第二步:git checkout branchName
第三步:git push origin branchName:branchName
第四步:git branch --set-upstream-to=origin/branchName branchName
或者 git push --set-upstream origin branchName
2.签出或切换一个远程分支到本地,并建立远程本地联系
一般把整个项目进行克隆的时候,本地一般只有对应的远程的主分支,而没有其他分支,这时需要自己进行签出,命令如下
git checkout -b branchName origin/branchName
其中branchName表示远程分支的分支名字,表示将某个远程分支拉取下来,并建立同名的本地分支,而且两者进行了关联
3.分支合并的细节
git的合并一般存在很多种原则,也有很多帖子进行了详细的描述,但是写的比较生涩难懂,不太适用入门的,所以自己进行了测试,总结了几点规则进行分享。
假设将某个目标分支合并到当前分支
1.目标分支有的,当前分支没有,内容会合并过来
2.目标分支没有,当前分支有的,当前分支内容保持不变
3.目标分支存在独有的内容,当前分支也存在独有的内容,会做一个并集,将目标分支独有的内容合并过来。但如果该情况发生在同一代码区,有可能会发生冲突,需要手动解决
成功合并相当于完成一个分支commit.
4.命令解决合并冲突及流程
git合并时,如果存在冲突有提示,那已改如何操作去完成有冲突的合并呢?
git命令合并时,如果有冲突会提示哪里发生了冲突,打开该文件会看到有特殊的注释在内容里,这个地方就是冲突发生的地方,需要手动去更改它。git diff ,git status -s两个命令可以查看状态,完成后通过add 和commit操作告诉git冲突已解决。
5.gitignore忽略文件的设置和操作
git相当于一个虚拟版本库,有时候我们不想讲某个文件加入其中,即不想对该文件进行追踪和迭代管理,可以设置在忽略文件中,比如一些运行时的缓存文件,编译器生成的一些文件都可以进行忽略。
应该在创建新仓库后,提交文件之前将需要的忽略的文件写到.gitignore文件中。如果已经已经将某个不想跟踪的文件提交了,需要将其写入到.gitignore中,再用命令删除它的缓存
git rm -r --cached 文件名
然后再提交.gitignore文件,即可在目前仓库忽略该文件。
6.单独拉取某个指定分支的命令
如何克隆远程仓库中的某个指定的分支呢,命令如下
git clone -b master http://.。。。。。.git
用 -b指定想要拉取的分支