如何进行只有我能看到的变化?

时间:2010-05-01 11:25:56

标签: git local

例如Id喜欢修改登录页面,因此它会自动记录我。

我希望这些更改 ONLY 在我的开发工作站上工作,并且不会在推送中显示。如果我在分支上创建它,那么在每次推送之前我都必须以某种方式取消合并该变化。

是由git支持的吗?

3 个答案:

答案 0 :(得分:7)

如果你至少有Git 1.7.0,你可能会喜欢这个'plumbing':

git update-index --skip-worktree -- path

来自git update-index manpage under “Skip-worktree bit”

  

Skip-worktree位可以在一个(长)句中定义:阅读时           一个条目,如果它被标记为skip-worktree,那么Git假装它           工作目录版本是最新的并读取索引版本           代替。

     

详细说明,“阅读”意味着检查文件存在,读取文件           属性或文件内容。工作目录版本可能是           存在或不存在。

“skip-worktree bit”是sparse checkout mechanism documented in the git read-tree manpage`的基础。


旧版本的Git(git update-index --assume-unchanged)中存在相关的“位”,但不应将其用于OP的用途。 It seems like it might be useful for the OP's situation,但Git's maintainer has said that its contract (the “promise”) makes it unsuitable for such purposes

答案 1 :(得分:2)

为什么不使用设置gitattributes filter driver

smudge

每次检查您的目录时,它将通过smudge步骤中的脚本检查)该文件(仅限该文件),如果满足某些条件(如“这是或不是您的开发”)站“)并将相应地修改内容 clean步骤将恢复其内容或至少忽略该特定修改。

答案 2 :(得分:0)

我不确定我理解这个问题:为什么你不能分开?拥有master您的主要公共分支,并继续在master(或与您的私人分支合并主人)上重新定位您的私人分支。永远不要将您的机会带到master,只需将master的更改带到您的私人分支机构。

如果您碰巧在您想要与master分享的私人分支上进行更改,那么将更改添加到母版上是没有问题的。