Git分支操作
1.在gitbash中输入git branch,可以查看分支:
2.查看远程端的分支命令:git branch -a
3.在本地如何创建分支,git checkout -b branch1
4.再次使用git branch查看,本地有两个分支了:
5.使用git branch -a,发现远程端并没有branch1分支
6.如何将本地分支推送到远程呢?
<1>.使用git status,发现当前在branch1分支
<2>. 编辑原来的test.txt文件,修改原来文件并保存:
<3>.使用git add 追加文件:git add test.txt
<4>.git commit -m "提交到branch1上的内容"
<5>.git push ,提示错误:
<6>.使用git push --set-upstream origin branch1,即可推送到远程github上
<7>.结果发现github网站上branch1下有多个文件:
解决办法,清理缓存,git中清理缓存的命令是:
git rm -r -f --cached ./ (删除缓存)
重新创建分支,修改文件,推送:
git cheout -b "branch5"
git statsus
vim test.txt,修改test文件并保存退出
git add test.txt
git commit -m "推送文件到branch5分支上"
git push --set-upstream origin branch5
进入github网站上,查看branch5下面的文件:
发现只推送了test.txt文件了
<8>.删除分支:
命令:git branch -d 分支名称(branch1),不能再当前工作分支下删除
如果在当前工作分支下删除,会提示错误:不能删除分支,必须要切换分支
切换分支命令:git checkout master,出现错误:
通过错误提示可知,是由于一些untracked working tree files引起的问题。所以只要解决了这些untracked的文件就能解决这个问题
在本地仓库目录下执行命令:git clean -d -fx 即可
可能很多人都不明白-d,-fx到底是啥意思,其实git clean -d -fx表示:删除 一些 没有 git add 的 文件;
git clean 参数
-n 显示将要删除的文件和目录;
-x -----删除忽略文件已经对git来说不识别的文件
-d -----删除未被添加到git的路径中的文件
-f -----强制运行
git clean -n
git clean -df
git clean -f
再次切换分支:git checkout master,发现分支切换成功:
删除分支branch1: git branch -d brach1
分支删除成功
再次使用git branch,查看本地分支已被删除:
查看远程分支:git branch -a,发现远程分支仍然存在
说明刚刚操作只是删除了本地分支。
如何删除远程分支呢?git 命令:git branch -r -d origin/branch1(分支名称)
发现确实是删除了。但是进入github中发现branch1分支并没有删除:
为什么分支没有删除成功呢?原来是git 命令问题:git push origin :branch1(分支名称),origin后面有空格
发现确实是删除了,在进入github网站中,查看分支,发现branch1被删除了
以上就是删除分支的操作
<9>.合并分支操作:
1.创建分支:git checkout -b mergedemo
2.修改test.txt文件,并保存:vim test.txt
3.cat test.txt,发现修改成功
4.git add test.txt
5.git commit -m "增加合并内容"
6. git push --set-upstream origin mergedemo,推送到mergedemo分支,提示推送成功
7.切换到master分支,git checkout master,提示错误:
error: The following untracked working tree files would be overwritten by checkout:test2.txt
Please move or remove them before you switch branches.
Aborting
8.使用git clean -d -fx,提示删除test2.txt文化
9.再次使用git checkout master,切换到master分支;提示切换成功,当前在master分支:
10.查看master下的文件,发现test.txt并没有修改;
11.使用合并分支命令:git merge mergedemo(需要合并的分支)
12.再次查看test.txt,发现文件被修改了:
以上就是合并分支的操作
<10>.解决合并分支的冲突问题,多人合作的时候,存在多人同时修改一个文件的情况;实际工作中需要将其他分支代码合并到master分支上。
在master分支使用git merge mergedemo时,出现了冲突:
查看merge的文件内容:cat test.txt
出现了这种情况,意味着发生冲突了,此时,需要修改test.txt文件,去掉中间的HEAD,===号,以及下面的>号,
重新追踪文件:git add test.txt
git commit -m "解决合并分支冲突问题"
git push
再次查看test.txt文件,发现master分支已经合并成功了:
进入github网站,查看master下的分支内容,发现合并成功了: