git - Git 如何跟踪您的存储库中的文件而不覆盖其他人分支中的文件?

标签 git command-line-interface

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

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

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

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

谢谢

最佳答案

将文件恢复到以前版本的命令实际上是

git checkout commit file

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

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

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

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

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

关于git - Git 如何跟踪您的存储库中的文件而不覆盖其他人分支中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786878/

相关文章:

html - 文件无法编辑 Github 页面

javascript - 如何从 CLI 执行 es6 脚本

php - 在 Ubuntu 中使用 CLI 终端访问 symfony 1.4 URL

jdbc - 有没有成熟的命令行 JDBC 客户端?

git - 在 Jenkins 作业中使用 ansible-galaxy 的凭证和私有(private) gitlab 仓库

git - Beyond Compare as a Diff tool with Git - 如何像 :/expandall 这样的命令行开关

java - Eclipse Package Explorer 与物理文件夹结构不匹配

git - 如何删除git中的整个分支文件夹

npm - 如何使用 "yarn"或 "npm"列出特定类型的依赖项

具有大量记录的 MySQL 查询被杀死