Git 如何跟踪存储库中的文件,但不从其他人的分支覆盖它?



我有一个 .htaccess 文件,其中包含仅适用于我的机器的特定设置。

当我从另一个人分支拉入更改时,我总是必须撤消所做的更改。

我想我可以做git checkout file hash来取回原始文件(这是正确的吗?如果不是,有人可以向我展示正确的命令)但是有没有办法告诉 Git 跟踪我的分支上的文件,但永远不要从另一个远程分支拉下文件?

同样:如何让 git 跟踪特定文件,但从不将其推送到远程分支。例如,我有一个包含密码详细信息的文件,但是如果我将文件公开存储在GitHub上,那么我不希望该文件被推送。

谢谢

将文件还原到以前版本中的命令实际上是

git checkout commit file

论点的顺序与问题中的顺序相反。 提交可以是哈希,也可以是引用提交的任何其他方式,例如分支或标记名称。

您可以通过指定自定义合并驱动程序将 git 设置为自动保留.htaccess文件的版本。

为此,首先需要在 git 配置中定义合并驱动程序,然后指定该合并文件应用于.htaccess文件。

git config merge.mine.driver 'touch %A'
echo .htaccess merge=mine >> .gitattributes

但是,如果您的本地分支将合并到您要从中提取更改的分支中,这将不是一个好主意。这将记录对该文件的更改已被合并,即使它们实际上被完全忽略。因此,如果您的分支合并回另一个分支,则对该文件的所有更改都可能会被还原。

您可以将其保留在本地branch上,并在拉取更改时将其与master合并。

相关内容

最新更新