git版本管理工具的使用上问题

Fatboy123 发布于 2015/04/21 17:00
阅读 209
收藏 0
Git
两个工程师,取了同一个分支到本地进行开发,一个开发完后直接commit和push上服务器,分支出现了新的节点;然后另外一个工程师也进行开发,commit和push上服务器,结果会怎样????
加载中
0
老牟
老牟

能提交到服务器上去。

Merge branch 'master' of git.oschina.net:xxx/xxx

老牟
老牟
回复 @Fatboy123 : 可以pull,会有冲突提示。 所以建议建立私有分支用于提交,主分支用于pull.
Fatboy123
Fatboy123
那另一个工程师本地的代码版本就跟服务器上面的代码版本不同步了????
0
wustrive_2008
wustrive_2008

可能有冲突也可能没有,主要看两人是不是修改过同一文件的同一位置

如果有冲突,本地解决冲突重新提交,另一人再pull就OK了

0
泡不烂的凉粉
泡不烂的凉粉

开发方式不对, 如果想改进, 建立一个分支, 在分支上操作。 完事后。 从服务器上更新代码至最新,之后把修改的分支合并进最新分支上。 之后再push.


Fatboy123
Fatboy123
恩,但是就这个情景来看,另一个工程师不先pull再commit,是不是会没有任何提示?或者pull就会导致把修改过的内容覆盖掉?会这样子吗?
0
泡不烂的凉粉
泡不烂的凉粉

pull 是从远端到本地的合并 , push 是推送到远端。 pull 只会在本地处理冲突。 push 如果存在冲突,会直接被拒绝。 当然,也可以强制更新。 无论是哪种情况。 只要不是强制更新,都会有提示的。
git里面不是有一条。 保持 master 与远端同步,不要直接做更新。 开发都要在自己新建的分支上进行。

Fatboy123
Fatboy123
恩,这个有用。。。
0
leo108
leo108

如果两个工程师执行commit和push,那么第二个工程师的push会被服务器拒绝。

第二个工程师需要执行一次pull操作,这时候git会自动进行一次merge操作(如果配置了pull.rebase=true则进行rebase),之后就可以进行push操作了

返回顶部
顶部