Git 在本地工作

示例

只需使用普通的git命令,将本地git仓库用作普通的git repo:

  • git add FILE和git checkout -- FILE暂存/取消暂存文件

  • git commit保存更改。这些提交将是本地的,不会像普通的git仓库一样“推送”到SVN存储库

  • git stash并git stash pop允许使用隐藏

  • git reset HEAD --hard 还原所有本地更改

  • git log 访问存储库中的所有历史记录

  • git rebase -i 这样您就可以自由地重写本地历史记录

  • git branch并git checkout创建本地分支机构

正如git-svn文档指出的那样:“ Subversion是一个比Git复杂得多的系统”,因此您不能在不弄乱Subversion服务器历史记录的情况下使用git的全部功能。幸运的是,规则非常简单:保持历史线性

这意味着你可以做几乎所有的Git操作:创建新的分支,删除/重排/挤压提交,左右移动历史,删除提交等什么,但合并。如果您需要重新整合本地分支机构的历史记录,请git rebase改用。

执行合并时,将创建合并提交。关于合并提交的特别之处在于它们有两个父级,这使历史成为非线性的。如果您将合并提交“推送”到存储库,则非线性历史记录会使SVN感到困惑。

但是请不要担心:如果您将git merge提交“推送”到SVN,则不会破坏任何内容。如果这样做,则将git merge提交发送到svn服务器时,它将包含该合并的所有提交的所有更改,因此您将丢失这些提交的历史记录,但不会丢失代码中的更改。