Git中的ClearCase劫持等效物是什么?

4

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

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

在Git中是否有相应的操作?

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

2个回答

4

1
其他可能的解决方案:http://stackoverflow.com/a/13928481/6309 git update-index --skip-worktree -- aFile - VonC
我需要调查两个选项。看起来 --assume-unchangedadd -ucommit -a 有所作用,但是它们中的任何一个或 --skip-worktree 是否允许跳过标记文件以使拉取成功,从而避免推送被拒绝? - gatkin
@gatkin 不太确定:你可以在这里找到两者之间的区别解释:https://dev59.com/nWYr5IYBdhLWcg3wfaSc#13631525。`skip-worktree`似乎可以抵抗stash(http://stackoverflow.com/questions/18393567/git-hook-for-any-action-that-updates-the-working-directory?lq=1#comment27019296_18393567)。 - VonC

0

您可以随时进行更改,然后不提交它们。当您拉取/合并/提交/检出时,这些更改将“浮动”;如果您尝试执行会覆盖它们的操作(例如,合并触及相同文件的更改),它将拒绝 - 此时您可以使用git stash来隐藏您的更改,执行操作,然后使用git stash (apply|pop)来恢复您的更改。

如果您想在本地实际上将这些更改提交但不与任何其他人共享,我认为最好的方法是将它们保留在本地分支上,并将其rebase到(或与之合并)“实际开发”所在的分支上,并小心不要实际推送包含本地更改的提交。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接