在使用git时第一步应该需要知道分支的概念:
上面两图敬请期待讲解~
本人不喜欢用原始的git命令,更喜欢用git客户端来操作代码,因为直观,方便,rubymine也自带了git客户端工具,自从用了rubymine以后基本可以不用打一条命令,下面我们实际操作一下吧:
- 从远程master获取最新代码并创建一个本地分支
1.VCS-->Git-->Fetch (从获取最新代码的HEAD信息)
2.VSC-->Git-->Branches...
3.找到master分支,点击 Checkout as new local branch
4.这里的本地分支名随便取,自己知道就行了
5.这样就可以保证这个分支的代码是master的最新代码
- 提交代码:
1.VCS-->Commit Changes...
2.VCS-->Git-->Push
- 合并冲突(当前分支跟master有冲突,无法提交merge request)
1.fetch
2.从远程的master来merge当前分支
3.选择merge或smart_merge
- 改动某个功能过程中有插队任务的处理方法
1.commit到本地(例如本地分支名为 fix1),不用push到远程分支(当然push也没什么问题,仅当备份用)
2.从远程的master checkout 一个新的本地分支,改动插队任务,commit,push,merge request
3.checkout本地分支至之前第一步提交的分支(fix1),就可以继续干活了
4.进阶一点用法,想返回到之前未commit时候的状态,即可以在编译器里看到自己哪些行有改动(reset head to "HEAD",""表示上一次提交的内容)
如果第一步的时候push到远程分支了,那么reset head之后就不能继续push到之前的那个远程分支上了,不然会报错:
- 改动某个功能过程中有插队任务的处理方法(方法二 stash)
stash 会给当前分支所有未提交的内容存储至本地,适合不想切分支的情况(其实用stash挺多的时候是撤回所有改动的内容,未commit的内容)
对应给临时缓存的内容切回来的是unstash
关于git的更多问题可以看看这篇文章:
团队开发实践:http://www.open-open.com/lib/view/open1461324562769.html