TortoiseGit使用注意

svn2gitcomment1

如上图,蓝色和黄色代码两个不同的作业目录,如:android&IOS的项目目录。
两个人在两个不同的分支工作。
黄色部分将变更的部分先行合并到DEV开发分支。
蓝色的工作分支Working合并Dev时,出现冲突的时候(和黄色无关,别的冲突),如果使用和TortoiseSVN一样的习惯。可能会出现让黄色部分新建的内容丢失的问题。

原因分析

git-merge-lost

  1. 在解决冲突时,要先反向把DEV的内容,merge到Working分支
  2. 在本地,可以使用VSCODE或TortoiseGIT进行解决冲突,冲突部分如上图中的红色方框。
  3. 解决完后,和SVN习惯一样在当期目录使用TortoiseGit进行提交(TortoiseGit只反映当前目录的变化)
  4. 目录B的新规部分的内容,就没有提交推送到Origin/working的目录
  5. 在合并DEV的时候,就出现目录B的新规部分丢失的问题。

注意点

  • 每次提交推送,请在Git根目录下操作
  • SVN是可以在子目录下,单独子目录刷新的。但Git不可以,Git是项目整体进行操作的
  • 提交推送强烈不推荐使用TortoiseGit
    • 容易产生SVN的子目录的类似误操作
    • 有些命令是和Git命令不一致的,如git revert
  • 下面可以使用TortoiseGit
    • 比较差异
    • 解决冲突
  • Android studio/Intellij IDEA打开子目录的项目时,可能会出现不是git Root目录的提示框,问是不是将本目录视为Root。慎重选择。
  • 习惯命令行最好。各平台通用。
  • 尽量不用网页合并,用命令。这样帮你快速理解常用命令。