1, 通过Git clone命令拉取了一个代码, 再用git branch 创建了多个分支a b c (master已有), 现在假设切换到分支a;
2,一个月后远程代码有更新,直接在分支a下用命令git pull后提示错误,说我没指定分支,请问这个怎么解决或者建议?
我想将代合并到a而已
3,我尝试用git pull git://xxx/xxx/ 来对分支a进行更新, 它提示我有某些文件将被覆盖(overwritten), 接下来用什么命令?
主要就是处理冲突的问题,
1, 从远程拉取更新,如果想保留本地的更改, 要怎么办? ...
本地有文件修改没提交到a?######后来我通过git add -s -m "xxx" 提交了######
我们用git开发流程:
下面给你介绍下我们的git管理方式,基本可用,但肯定不是最好。
团队开发:A、B
A在本地创建自己的分支:
git checkout -b a
git push origin a:a // 提交到远程分支
B在本地创建自己的分支:
git checkout -b b
git push origin b:b // 提交到远程分支
创建develop分支,此分支代码永远都是最新的,A和B开发完成之后都可以merge到develop分支
git checkout -b develop
git push origin develop:develop // 提交到远程分支
创建release分支,此分支用于代码审核与发布版本.(不严格的话可以不要)
现在解决你的问题:
A修改了本地代码之后:
git add .
git commit -am "fix account bug"
git checkout develop // 切换到develop分支
git pull origin develop // 拉取develop分支最新代码
git merge A // 合并自己开发分支
git push origin develop // 提交到远程分支
-----------------------------------
此时B也修改了代码
git add .
git commit -am "fix order bug"
git checkout develop
git pull origin develop
git merge B
git push origin develop
说到最后一句话:A和B的分支只合并develop分支。不改变同一个模块的情况下是不会冲突的。
######假如出现我以上说的那几种问题了, 怎么办?######谢谢你的经验分享 很详细,让我受益匪浅######指定远程分支就行了啊 git pull origin xxx
######我们用git开发流程:
下面给你介绍下我们的git管理方式,基本可用,但肯定不是最好。
团队开发:A、B
A在本地创建自己的分支:
git checkout -b a
git push origin a:a // 提交到远程分支
B在本地创建自己的分支:
git checkout -b b
git push origin b:b // 提交到远程分支
创建develop分支,此分支代码永远都是最新的,A和B开发完成之后都可以merge到develop分支
git checkout -b develop
git push origin develop:develop // 提交到远程分支
创建release分支,此分支用于代码审核与发布版本.(不严格的话可以不要)
现在解决你的问题:
A修改了本地代码之后:
git add .
git commit -am "fix account bug"
git checkout develop // 切换到develop分支
git pull origin develop // 拉取develop分支最新代码
git merge A // 合并自己开发分支
git push origin develop // 提交到远程分支
-----------------------------------
此时B也修改了代码
git add .
git commit -am "fix order bug"
git checkout develop
git pull origin develop
git merge B
git push origin develop
说到最后一句话:A和B的分支只合并develop分支。不改变同一个模块的情况下是不会冲突的。
解决你问题:
1、git reset --hard HEAD^
2、git pull origin master
3、git merge master
我们用git开发流程:
下面给你介绍下我们的git管理方式,基本可用,但肯定不是最好。
团队开发:A、B
A在本地创建自己的分支:
git checkout -b a
git push origin a:a // 提交到远程分支
B在本地创建自己的分支:
git checkout -b b
git push origin b:b // 提交到远程分支
创建develop分支,此分支代码永远都是最新的,A和B开发完成之后都可以merge到develop分支
git checkout -b develop
git push origin develop:develop // 提交到远程分支
创建release分支,此分支用于代码审核与发布版本.(不严格的话可以不要)
现在解决你的问题:
A修改了本地代码之后:
git add .
git commit -am "fix account bug"
git checkout develop // 切换到develop分支
git pull origin develop // 拉取develop分支最新代码
git merge A // 合并自己开发分支
git push origin develop // 提交到远程分支
-----------------------------------
此时B也修改了代码
git add .
git commit -am "fix order bug"
git checkout develop
git pull origin develop
git merge B
git push origin develop
说到最后一句话:A和B的分支只合并develop分支。不改变同一个模块的情况下是不会冲突的。
解决你问题:
1、git reset --hard HEAD^
2、git pull origin master
3、git merge master
先用git fetch取了最新的历史(不会进行合并)。再根据自己的需要,把想合并的远程分支(origin/xxxx_branch)合并到自己工作分支来(merge)就可以了。当然也可以反过来,创建一个远程分支的本地分支,再把原工作分支的内容合并到新建分支上来。
对分布式版本管理还是要有概念才行。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。