`
ryan.liu
  • 浏览: 136176 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

正确使用git避免提交冲突

 
阅读更多

前几年自己用过一段时间的git(原来是使用bzr,后来换成git),都是当作个人代码备份工具,没有涉及多人提交代码到中央版本库。

两个月前,我们把原来的svn版本管理换成了git,这两天提交版本时遇到许多问题,上网找些资料看,才发现用法不对,集体使用时,不能简单地再延续原来个人使用时的习惯。

 

背景啰嗦完了,现在进入正题:如何提交避免版本冲突。

 

  • 首先在本地按方法1 clone 回来之后,只有一个默认分支master,不要直接在上面工作。

建立一个自己的分支,如取名working: git branch working

切换到这个新分支: git checkout working

现在可以自由修改代码并保存了。

  • 确保你修改的代码都是自己负责项目下,或者说你的两次提交之间,没有其他人来改相同项目下的代码,

如果不能避免,你就要在下面的merge步骤手工处理冲突了。

  • 提交代码时按下面的步骤:

可以将下面的脚本保存在你的每个项目之下,每次只修改提交一个项目。

 

 

git checkout working    --force  #确保使用的是工作分支
git add .
git commit -m"$1" -a     #提交代码到本地,工作分支增加一个版本,这里的$1是运行脚本的第一个参数

git checkout master      
git pull origin master   #切换回默认分支,并将默认分支和中央最新版本合并
git merge working        #在本地合并你的这次修改到默认分支
git push origin master   #提交到中央版本库,接下来还是要切换回工作分支的
git checkout working   --force

 

如果不小心动了生产环境(就是只从中央版本库pull到本地)的文件,只好将本地版本退回一个,再从中央代码库pull代码合并。

 

git reset --hard HEAD
分享到:
评论

相关推荐

    史上最全的git解决冲突

    3. 使用Git的Merge功能手动解决冲突。 4. 解决冲突后,再次执行提交(commit)和推送(push)操作。 **适用场景及注意事项:** - **适用场景:** 当冲突较为复杂,需要手动解决的情况。 - **注意事项:** Merge过程中...

    git协同冲突解决1

    确保及时拉取远端更新,正确处理冲突,能够帮助团队避免版本混乱,保持代码库的整洁和同步。在实际操作中,可能还会遇到更复杂的合并问题,但通过熟练掌握基本技巧,你将更有信心应对各种Git协同挑战。

    git 在Intellij 上解决git冲突

    - **提交解决**:执行`Commit`操作,然后输入提交信息,提交解决冲突的更改。 5. **使用图形界面解决冲突** IntelliJ IDEA提供了图形化的冲突解决工具,可以通过`VCS` -> `Git` -> `Resolve Conflicts`来打开。这...

    Git的使用文档--分支管理与冲突解决

    - 解决冲突需要手动编辑这些文件,删除或保留合适的改动,然后使用`git add <conflict_file>`将解决冲突后的文件添加到暂存区,最后通过`git commit`提交解决冲突后的代码。 5. **推送和拉取** - 将本地分支的...

    git使用规范(绝密).pdf

    在提交规范方面,规范中明确禁止了使用强制推送命令(如`git push -f`或`git push --force`)覆盖中央仓库的内容,除非开发人员确实知道自己在做什么。因为强制推送会覆盖远程分支上的提交,可能会导致其他人的提交...

    Git安装文件.zip

    在安装过程中,确保选择正确的安装路径,并根据需求自定义设置,如是否关联文件类型,是否在命令行中使用Git Bash等。安装完毕后,可以在系统路径中找到Git的命令行工具,如Git Bash或Git CMD。 接下来,配置Git。...

    Git的使用步骤

    解决冲突的一般过程包括使用`git mergetool`进行可视化冲突解决,或者手动编辑冲突文件,然后使用`git commit`提交。对于`git rebase`操作引发的冲突,需要逐个解决每个补丁冲突,使用`git add --u`将解决后的冲突...

    Git-2.21.0-64-bit 安装包及安装说明 idea使用git配置

    通过熟练掌握Git,你可以有效地管理代码版本,协同开发,避免冲突,确保项目稳定且高效。同时,IDEA的集成特性让你在编码的同时就能便捷地进行版本控制,极大地提高了开发效率。在实际工作中,记得定期更新Git版本,...

    git 使用简易教程

    - 分支管理是Git的核心特性之一,正确使用分支可以极大地提高团队开发效率和代码质量。 - 建立清晰的工作流程和分支策略对于团队合作至关重要。 ### 结论 通过学习本教程,读者可以了解到Git的基本概念和操作方法,...

    idea git的使用教程

    **更新操作**是提交前的必要步骤,目的是同步最新的代码变化,避免因代码冲突导致的提交失败。 - 在版本控制工具栏中选择`Pull`按钮进行更新操作。 - 如果更新成功,表示可以安全地提交自己的更改。 - 若更新...

    gitKraken常见问题解决方案

    - **将本地仓库的代码提交到远程仓库**: 使用`git push`命令将本地仓库中的提交推送到远程仓库。 #### 三、GitKraken常见问题及解决方案 **1. 拉取不到最新的远程代码** - 解决方案: 有时可能因为网络问题或认证...

    Git使用手册-eclipse配置git详细说明

    在日常开发中,了解和熟练使用Git的其他功能也很重要,如分支管理、冲突解决、标签创建等。这将帮助你更好地协同工作,避免代码冲突,以及追溯代码历史。另外,学习使用`git status`、`git log`、`git diff`等基本...

    Git for Windows简明使用指南

    - **提交更改**:当修改了文件并希望将其保存到仓库的历史记录中时,可以使用 Git GUI 提交更改。 - **创建新分支**:在 Git GUI 中也可以轻松创建新的分支来隔离开发工作,避免对主分支造成影响。 - **合并分支**:...

    GIT代码仓库手把手操作使用文档

    第七章 常见问题7.1 提交冲突当多个用户修改了同一部分代码并尝试合并时,可能会发生冲突。解决冲突通常需要手动编辑冲突文件,确认保留哪些更改,然后重新提交。7.2 图标显示不对图标未正确显示可能是因为 ...

    gitlens gitgraph githistory

    在使用GitLens时,确保你的项目是在正确的文件夹下打开的,以便正确映射到对应的Git仓库。在文件上悬停可以查看文件的最近修改者和时间,点击右上角的“...”符号,打开源代码管理,查看仓库信息。 2. **修改代码并...

    Android studio使用Git管理项目创建流程

    2. **合并冲突**:如果存在合并冲突,需要手动解决冲突后再次提交。 #### 七、注意事项 - **多账号问题**:如果多人共用同一台电脑进行开发,需要确保使用相同的 GitHub 账号进行操作,避免权限问题。 - **二级...

    git工具.zip/git安装包

    这种灵活的工作流有助于团队协作,避免了多人同时编辑同一份代码时可能产生的冲突。 在远程仓库方面,Git最常用的托管平台是GitHub、GitLab和Bitbucket。通过`git remote add`可以添加远程仓库的URL,然后使用`git ...

    git--团队协作范-使用规范

    合并他人提交**:使用`git checkout developer`和`git pull origin developer`获取最新的`developer`分支上的代码。 **5. 解决冲突**:在合并过程中可能会遇到冲突,解决冲突的最佳方法是细化功能开发,每个开发者...

    Git 魔法-PDF

    如果发现了问题,可以使用`git blame`命令找出引入问题的提交者和提交时间。 **个人经验** 分享个人使用Git的经验和教训有助于他人更好地理解和使用Git。 #### 六、多人Git **我是谁?** 在多人合作的项目中,...

    学习GIT的使用方法

    例如,理解如何正确使用分支策略、何时进行合并以及如何避免不必要的冲突,这些都是提高团队效率的关键。通过阅读提供的"3秒学会用git.pdf"文档,你将能更深入地了解这些内容,并快速上手Git的使用。 总之,Git是一...

Global site tag (gtag.js) - Google Analytics