git分支开发
线上有三个分支:master、java、php分支。如下图
其中master分支:空白
php分支:空白
Java分支:
1 需求一:
拉取php分支代码到本地,创建a.txt文件,b.txt文件并提交到远端;
修改配置文件:
回车进行编辑:
按Esc退出编辑,按:wq! 退出。
然后进行查看状态,并提交:
假设a.txt 是一个项目,b.txt 是另外一个项目。现在你在做第一个项目a.txt,做了一半了,忽然,另外一个项目b.txt的bug需要你修改,任务比较紧急,此时你需要先暂停a.txt 的开发,去开发b项目,处理这个bug需要修改a.txt文件,编辑b.txt以及添加b1.txt文件。
思路:在本地php的分支上面在创建两个分支,一个开发a项目,一个开发b项目,最后在合并merge到php这个分支上,进行提交推送。
查看:
此时需要及时处理b项目的bug,编辑b.txt,修改a.txt文件以及添加b1.txt文件
查看a.txt是内容,看看能不能看到a分支上提交刚刚提交的代码?
答案是:并看不到刚刚在a分支上面对a.txt文件的编辑的内容。
注意这里merge前需要先pull
Merge合并操作:其实都是先合并到本地分支,再推送到远端相应的分支。
此时,bug修改完了,可以先提交代码到远端了:
查看远端分支情况:
假设你之前没有解决过冲突;
思路:根据提示,走着看看着走:
根据给出的提示:
执行 git merge –abort :回到合并前的状态;
既然说a.txt 文件冲突,那就查看a.txt文件,进行手动解决冲突:
查看远端代码:
发现a分支,与b分支还是之前的代码,并没有更新;
要想实现分支与php代码一直,需要merge:
同步php本地仓库到本地a分支代码仓库:
还是空空如也。
查看远端分支:
终端查看:已经合并上去了。
git clone [–b 远端分支名] https://github.com/vhviqd/java26.git
其中[]表示可选,如果不写,默认是master分支。
git push origin 本地分支名
若想创建一个远端分支名与本地分支名不一样的。
git push origin 本地分支名:远端分支名
git push origin :远端分支名
git reflog
git reset --hard 版本号
利用版本切换可以使代码回退到之前的版本。只是本地分支对应的仓库的版本回退,并不涉及远端,只有push推送了,才会更新也断代码。
git pull :更新本地代码,使得与远端代码保持一致
git push :把本地代码推送到远端分支。
原文:https://www.cnblogs.com/vhviqd/p/11488691.html