例如Id喜欢修改登录页面,因此它会自动记录我。
我希望这些更改 ONLY 在我的开发工作站上工作,并且不会在推送中显示。如果我在分支上创建它,那么在每次推送之前我都必须以某种方式取消合并该变化。
是由git支持的吗?
答案 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
步骤中的脚本检查)该文件(仅限该文件),如果满足某些条件(如“这是或不是您的开发”)站“)并将相应地修改内容
clean
步骤将恢复其内容或至少忽略该特定修改。
答案 2 :(得分:0)
我不确定我理解这个问题:为什么你不能分开?拥有master
您的主要公共分支,并继续在master
(或与您的私人分支合并主人)上重新定位您的私人分支。永远不要将您的机会带到master
,只需将master
的更改带到您的私人分支机构。
如果您碰巧在您想要与master
分享的私人分支上进行更改,那么将更改添加到母版上是没有问题的。