我正在考虑使用Git作为本地开发者版本控制系统的支持(这是为了多学科开发)。
以前的做法是每个试用版本都会将顶级目录重命名(并保留一个zip副本)。对于1-2人团队来说,这种方法相当有效。版本之间使用Beyond Compare进行比较。
然而,快速尝试将Git应用于该方法后,它“认为”文件已被删除并创建了新文件,而不仅仅是在新路径上。
因此,我们有:
\GIT-Dir
\.git
\Master-with-updating-version-name1
\ProjectName
\Source
files.etc
变成
\GIT-Dir
\.git
\Master-with-updating-version-name2
\ProjectName
\Source
files.etc
并且,接着
然后
\GIT-Dir
\.git
\Master-with-updating-version-name3
\ProjectName
\Source
files.etc
鉴于我需要在过渡期间保持旧方法的活性,有哪些选项?
a/ 如何让Git认识到这只是路径更新?
b/如何确保较低级别的文件被正确跟踪和差异化?
我使用Windows,GitGui 0.13和git 1.7.4.msysgit.0,并安装了GitExtensions 2.21。
git add -A
,然后是git status
,说明我们有一个重命名,但是 Git Gui 仍然显示情况是删除并创建一个新文件(这只是在执行提交之前)。 - Philip Oakleygit whatchanged -r
(在 git bash 中执行),它展示了文件的添加和删除,但同时显示内容 blob sha1 的值未改变(除了我故意更改以测试 diff 是否能捕获到更改)。 - Philip Oakley