第二天 2017/6/8
今天主要是分支管理
分支的创建 git branch branchName;分支的切换 git checkout branchName;而这俩步可以合并为git checkout -b branchName;
分支的合并 git merge branchName;分支的删除 git branch -d branchName;
分支的冲突解决 比如你在主分支上的某个文件与 另一个分支上的那个文件不同,当你实现merge 时,会提示你 "fix conflicts and then commit
the result."所以你应该先解决冲突(修改文件 git add git commit),然后再merge;
在实际开发过程中,干活应该在dev 分支上即不是主分支,master 分支是比较稳定的。
在合并不同的分支时,若使用 --no-ff 参数即可看到合并的痕迹,而fast-forward 看不出合并的痕迹。
bug 分支
当你在自己的dev 分支上工作时比如上级会让你临时处理一个bug,这时候,你的dev分支工作区已改动而且git add 到暂存区了,但是暂时还不能git
commit 这时候 你便可以利用git stash 保存此刻工作区暂存区 的状态此时你便可以回到master分支处理bug ,这里要说的是,处理bug也应该在创建
一个bug分支。处理完成之后你可以再checkout到dev 分支进行你自己的工作。此时需要git staus pop进行工作区与暂存区的恢复。如果你照着git
教程做的话注意在之前git stash的分支进行git stash pop 或者git stash apply 否则可能会会出现冲突的情况。
feature 分支
比如你要开发一个新功能,那么你最好再开一个分支,那么当你分支或merge 后删除git merge banchName git ;branch -d branchName
或者直接放弃此功能,但是当你删除分支时,会提示你次分支还未合并这是你可以按照提示,git branch -D branchName 强行删除
(重点 多人协作)
这个我还研究了 好一会呢?哈哈见笑了
现在比如你和你的小伙伴在一起开发一个东西,在一台电脑模拟,首先另选一个目录git clone weburl 从github 上面clone 你们一起的项目库
现在 git remote show origin 会显示(一部分)的是本地的分支对应push 到remote 分支本地的分支 pull(merge )到remote 分支,开始的时候
你的dev 分支应该 不会自动与远程dev 关联起来,意思是你在dev 分支下的git push dev 不会push到 remote origin dev;你可以通过指令git branch
dev origin/dev 来关联对应的俩个分支;如果你遇到 Everything up to date 的问题,
可参考https://stackoverflow.com/questions/2936652/git-push-wont-do-anything-everything-up-to-date 此处有较好解释
当你的小伙伴比如修改了文件test.txt 并且push 到github 上面,而你恰好也对这个文件进行了修改,并且准备push ,那么在你push 的时候,
当内容冲突的时候,你的push 肯定会失败,那么怎么才能push 成功呢? 首先你得解决冲突,git pull 然后决定使用谁的版本或者各取所长,
然后git add git commit git push 后就必然会push 成功。
重点是 命令的熟记 与理解
git branch <name>
git checkout <name>
git checkout -b <name>
git stash
git stash pop
git stash apply
git stash list
git remote show origin
git branch --track <name> origin<name>
git push --all origin
git pull
git
最新推荐文章于 2025-12-23 09:41:12 发布
6万+

被折叠的 条评论
为什么被折叠?



