4

我的团队最近从 ClearCase 迁移到了 Git。一些团队成员习惯于劫持文件,这在 ClearCase 中意味着对跟踪的文件进行私人更改,即您不打算与任何人共享的更改。

ClearCase 在执行相当于 Git add/commit 时基本上会忽略这些文件,并且在执行相当于 Git pull 时不会覆盖它们。

Git中是否有等价物?

注意我并不是说这是一个好的工作流程,即使在 ClearCase 世界中也是如此。“你为什么想要”的答案是他们已经习惯了。

4

2 回答 2

4

“ hijacked ”的最接近的近似值是您指定到 git 索引的文件,它必须被忽略:(
参见“ Git: untrack a file in local repo only and keep it in the remote repo ”)

git update-index --assume-unchanged -- afile.

该文件仍然是版本控制的,但您在其中所做的任何修改都不会显示在 中git status,也不会被提交(显然也不会被推送)

于 2013-09-25T17:33:40.493 回答
-1

您始终可以进行更改,然后不提交它们。当您拉/合并/提交/结帐时,更改将“浮动”;如果你尝试做一些会覆盖它们的事情(例如,你合并一个触及同一个文件的更改),它会拒绝 - 此时你可以git stash你的更改,执行操作,然后git stash (apply|pop)恢复你的更改。

如果您希望这些更改实际上在本地提交但不与其他任何人共享,我认为您最好的选择是将它们维护在您重新定位到(或保持合并)“实际开发”发生的分支上的本地分支上,并且请注意不要实际推送包含本地更改的提交。

于 2013-09-25T17:23:23.227 回答