华为云服务电脑客户端Git客户端多人开发产生冲突与覆盖怎么办?

问题对人有帮助,内容完整,我也想知道答案
问题没有实际价值,缺少关键内容,没有改进余地
比如我先把 github
的项目 pull 下来,然后修修改改,发现“噢,写得有点乱”,一个个删除有点太麻烦了,当然也可以重新 clone 一份下来,但有没有可以重新覆盖更新一份的方法。百度了好久也找不到,新人刚接触,不要嫌弃!!
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
除了git reset --hard,也可以考虑使用git checkout .撤销所有文件的修改(新增或删除文件无效),git checkout [特定文件路径]针对某些文件撤销修改,多个路径以空格隔开。另外需注意如果你已经git commit了的话就不能使用checkout了。
答案对人有帮助,有参考价值
答案没帮助,是错误的答案,答非所问
git reset --hard,移除所有未提交的本地改动。git fetch && git reset --hard origin/master,使用github上的仓库覆盖本地,本地提交的也会被移除。用之前建议先备份。
分享到微博?
关闭理由:
删除理由:
忽略理由:
推广(招聘、广告、SEO 等)方面的内容
与已有问题重复(请编辑该提问指向已有相同问题)
答非所问,不符合答题要求
宜作评论而非答案
带有人身攻击、辱骂、仇恨等违反条款的内容
无法获得确切结果的问题
非开发直接相关的问题
非技术提问的讨论型问题
其他原因(请补充说明)
我要该,理由是:华为云视频
自媒体文章爆文
今日,在上海举办的HUAWEI CONNECT 2017第一天全体大会上,华为Cloud BU总裁,兼IT产品线总裁郑叶来全面介绍了华为云的定位、业务进展,面向企业市场首次发布华为人工智能云服务——企
华为全连接大会2017 发布人工智能云服务—企业智能EI
端到端测试管理;流程双向追溯;多维度质量报告;快速创建缺陷;
对接企业云产品;一键申请环境资源;批量自动化部署;
Maven仓库管理;云端中央仓代理;
支持Maven等主流构建标准支持web/移动终端/IoT应用
集成代码下载、代码检查、编译、构建、部署; 实时监控流水线状态
敏捷模式,缩短交付周期、提升产品质量和协作效率、传承关键资产
缺陷的精准定位和修复;1000个自定义规则库;全方位检查报告;
CMM5级软件实力打造,助力国产软件大而强华为软件开发云功能描述:基于Git分布协同开发;代码安全保障;以代码为主心的追溯;基于代码的统计分析;
CMM5级软件实力打造,助力国产软件大而强,功能介绍:1、敏捷Scrum管理模式;2、社交化协作;3、多层次看板;
华为·宿州云产业高峰论坛
精彩现场花絮!
医生在手术过程中戴上全息眼镜,全息图像直接投射在患者身上,患者生理信息、执行手术的精确位置与角度都清晰浮现眼前,就像为手术刀增加了一套精准瞄准病灶的准星;遇到疑难杂症,世界各地的医学专家通过全息图像汇
2016年第四季度,华为与飞利浦签订了一项MoU,计划在中国部署云医疗解决方案,目前该方案已完成测试。借助云化和机器学习技术,该解决方案将以前所未有的速度和广度彻底颠覆医疗行业,创造数字医疗的崭新未来
日,华为软件开发云正式入驻青岛,华为企业云业务部总裁杨瑞凯指出,华为在公有云领域将围绕“一核两翼”的战略进行发展,重点打造3个“1”工程——计划服务100万个开发者、10万家软件企业
华为软件开发云是华为企业云面向软件企业和软件开发团队提供的智能化软件研发管理平台,通过云服务的方式开放华为30多年积累的软件工程能力和优秀实践,助力软件开发团队打造一流的软件产品。团队开发最常见的情况
  在团队开发中,最常见的情况就是代码的冲突,当同一行中,云端代码有被自己更新的代码就会出现冲突。一般情况这些冲突会常常出现在一些公共的配置文件中,所以出现冲突最好可以先和修改者协商,再做合并。假如是一些误操作,例如不小心多加了一个空格,那么这里就应该自行解决冲突。
  这个针对Eclipse+EGit这个开发环境做详细的冲突处理方法。
编写冲突文件
首先编写一个会冲突的文件,如下图。
如图,代码会在13行冲突。
  1、先保证自己的代码已经提交到本地仓库,不用push代码上远程,由于远程仓库的代码比本地的更新,GitHub不会允许这样的提交的。图片项目名右边有向下的箭头,证明远程已经有2个commit本地没下载了。
  2、pull远程仓库的代码下来(有冲突的时候,程序就会显示冲突了)
  3、处理冲突(冲突处理过程,关键是后面add index,并且重新提交到本地仓库)
  当我们的冲突处理完并提交后,我们手上的代码就是最新的,并且使无冲突的。现在push代码上去云端就无问题了。图中那么提交冲突的窗口:git staging
  我们稍微说说冲突处理过程的原理:GitHub的是属于远程仓库的,所以要更新远程仓库的数据,并需保证本地分支中的代码都提交到本地仓库。也就是commit所有的数据。这个时候方可pull远程仓库的代码下来。然后假如有冲突,那么这次pull是不完成成功的,程序会把冲突都显示出来。我们解决冲突后,通过git staging把冲突也提交到本地仓库。那么这时候,本地仓库的代码就是没有冲突,比远程仓库代码更加fresh的代码了,所以这时候可以轻易把代码push到远程仓库中。
  当然,我们平时有良好的习惯时,是可以避免不少冲突的。我们要养成先更新代码再进行开发的习惯,一个子功能开发完成后就要及时提交代码。
至此,eclipse + egit + github就可以集成一个团队开发环境。
总结一下在搭建团队开发环境下,需求、问题及解决方法:
 Q:团队开发过程,各个模块的人员如何围绕着一个框架进行多任务编码?
 A:首先我们要为围绕着那个框架,为每一个开发者建立一个分支。例如文中提及到的,LLQ开发者。管理员首先要在master主干上,针对开发者建立一个分支。然后开发者通过自己的IDE导入分支,在上面进行开发。其他开发者也可以对该分支进行编辑。
 Q:框架更新的时候,如何应用到其他分支中?
 A:如文中所见《分支合并及冲突处理方法》,框架应用过其他分支,是需要管理员去进行的。当与分支代码发生冲突的时候,应该和开发人员进行沟通,适当更改代码。这里可以提一下关于编码规范:
  1、不要随意在框架的中修改代码,实在需要动框架,应该和框架开发者说一声,由开发者去完成代码的修改。
  2、有限建立新的文件而不是使用原有的文件,例如:我们的一些定义框架属性的.xml文件不应该随意被修改,关于页面配置等.xml文件,分支开发人员应该自行建立。引用方面需要动一下框架的配置文件(例如web.xml配置各种即将被导入spring的xml文件),小动一下总比大动要好。
  3、包类应该根据自己的需求建立,尽量不和原有的包混在一起。
 Q:push代码上云端应注意一些什么?假如发生了冲突应该如何处理?
 A:push代码的时候,首先要肯定我们本地的代码是最新的。所以我们平时打开eclipse进行开发前,都应该先pull云端的代码下来,然后再开始工作。假如实在是遇上了冲突,那么就要按照上一篇的《云端代码与本地代码冲突解决方法》进行解决。总之:push代码前,时刻保证首先的代码是最新的就可以了。
  用了一个很粗糙的办法搭建了一个开发环境。其实在真正的公司里,往往不会有这么麻烦的解决方案的。把这个教程写出来,是希望可以帮到一些同学在宿舍内进行一些小程序开发,在学校提前感受一下合作开发。经过这一次方法的探索,我对Git有了更深刻的认识,其协作开发者的功能确实非常强大。
  我觉得对于小型团队开发环境还是有其它很多样的实现方式的,我这个方法还是有点强硬不灵活,有更好方法的希望大家可以提供一下idea!
本文已收录于以下专栏:
相关文章推荐
Eclipse中,git是个比较头疼的问题,如果稍有不慎,就只能将自己的代码备份一下,然后重新从服务器上拉代码,再把自己有修改的部分加上,然后提交。
每次都这样做,总会很烦的,现在来学一招,通过...
1.普通提交:在项目上右键:Team->commit,提交更改;然后右键:Team->remote->push推送代码到服务器。完成代码提交,然而一般不会这么顺利。2.远程代码库发生更改在你提交之前可...
首先进入eclipse的插件安装界面,添加新的插件地址:
http://subclipse.tigris.org/update_1.10.x
点击OK后,eclipse...
Git是分布式版本控制的一种实现方式,Github提供了Git版本库托管服务。本文主要介绍利用Github与Eclipse进行团队分布式协同开发,详细给出了工程检测出、提交代码、获取版本库最新代码各个...
我在公司实习前,一直都是自己写自己的代码,也一直都想象不了如何组织多人共同编写一个项目。直到在公司见识到SVN的魅力,大家共同为一个项目推送自己的代码,这个过程让我感到非常神奇。一直都希望以...
本文将介绍如何将本地的项目提交到开源中国上去,过程比较详细,实现起来很简单。由于自己也算是一个新手,所以没有做过多的解释,只是单纯的描述了该如何去做。
应该每个程序员儿都熟悉GitHub,我们可以通过GitHub免费托管我们的代码(免费的只能为开源状态托管,想私有项目需要付费),正因为如此,他成了最流程的开源平台之一。当然,当我们不想开放自己的代码(...
1、首次操作码云
(1)登陆码云,新建项目
(2)密钥配对,ssh-keygen -t
"邮箱"(此命令是生成密钥,密钥一般在用户id_rsa.pub文件夹中)
(3)将第...
/sites/default/files/documents/syslog-ng-ose-latest-guides/en/syslog-ng-ose-g...
Junit+spring创建JNDI运行测试用例
他的最新文章
讲师:李江龙
讲师:司徒正美
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)解决文件冲突
处理的方式非常简单,主要是使用git stash命令进行处理,分成以下几个步骤进行处理。(适用于文本文件,非二进制的文件)
1.先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来 。用git stash list可以看到保存的信息。其中stash@{0}就是刚才保存的标记。
2.暂存了本地修改之后,就可以pull了
$ git pull
3.还原暂存的内容
$ git stash pop stash@{0}
系统提示如下类似的信息:
Auto-merging c/environ.c
CONFLICT (content): Merge conflict in c/environ.c
意思就是系统自动合并修改的内容,但是其中有冲突,需要解决其中的冲突。
4.解决文件中冲突的的部分
打开冲突的文件,会看到类似如下的内容:
git冲突内容
其中Updated upstream 和=====之间的内容就是pull下来的内容,====和stashed changes之间的内容就是本地修改的内容。碰到这种情况,git也不知道哪行内容是需要的,所以要自行确定需要的内容。
解决完成之后,就可以正常的提交了。
git commit -m "注释"
git push -u origin master
git fetch 只是下载远程的库的内容,不做任何的合并git reset 把HEAD指向刚刚下载的最新的版本
本文已收录于以下专栏:
相关文章推荐
git 放弃本地修改 强制更新
git fetch --all
git reset --hard origin/master
git fetch 只是下载远程的库的内容,不...
本地有修改和提交,如何强制用远程的库更新更新。我尝试过用git pull -f,总是提示 You have not concluded your merge. (MERGE_HEAD exists)。...
git fetch --all
git reset --hard origin/master
参考:https://ruby-china.org/topics/2494
git fetch --all
git reset --hard origin/master
git fetch 只是下载远程的库的内容,不做任何的合并
git reset 把HEAD指向刚刚下...
git 放弃本地修改强制更新
本地有修改和提交,如果想放弃这些修改和提交 可以使用如下命令强制用远程的库更新:
git fetch --all
git reset --hard origin/mas...
SVN更新单个文件只需要svn up file/to/update,非常简单,而且没有歧义.Git由于在远端和本地都有一个代码库, 这样更新单个文件比SVN要麻烦一点.1. 如果想拿远端git服务器上...
如果系统中有一些配置文件在服务器上做了配置修改,然后后续开发又新添加一些配置项的时候,在发布这个配置文件的时候,会发生代码冲突:error: Your local changes to the fol...
冲突的产生
很多命令都可能出现冲突,但从根本上来讲,都是merge 和 patch(应用补丁)时产生冲突。
而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突。
1、先将本地修改存储起来
$ git stash
这样本地的所有修改就都被暂时存储起来 。是用git stash list可以看到保存的信息:
git stash暂存修改
当2个branch都修改了同一个文件的同一部分时,这时,就会发生冲突,git的自动合并就会失败。产生了冲突就需要手工解决。
如何解决本地冲突
比如,通过以下方式提交代码:
他的最新文章
讲师:李江龙
讲师:司徒正美
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 华为云客户端 的文章

 

随机推荐