2016-12-27 74 views
0

我想用git只提交文件的一部分,有没有办法做到这一点?如何只用git跟踪文件的一个块?

+0

简短答案是“否”:提交是文件的快照(并且是*整个*文件)。但是,如果你的意思是你对一个文件做了多个独立的更改,并且你想提交一个具有快照的整个文件,其中只有*一个*这些修改*应用*,那么是的,那里是一种方式来做到这一点。不过,目前还不清楚这是不是你要问的。 – torek

回答

0

请问为什么你只想提交文件的一部分?

我想不出一个我不想提交整个文件的实例。 (您要提交的更改可能依赖于您对本地文件进行的更改,而您未对其进行提交并误导其他人在您的分支上工作)。

如果您不想覆盖您的代码认为是正确的,那么我会建议打开一个分支,以便在您确定需要更改之前不要覆盖该代码。

$ git checkout -b <branch-name> 

如果您正在使用GitHub上,你可以打开一个拉请求更改与

$ git push origin <branch-name> 

然后在你有一个问题关于具体的行注释和@mention原作者,使他们能够澄清意图。

2

Git通过维护目录的快照来跟踪目录的内容。 (见“git from the bottom up”)。所以你不能只跟踪文件的一部分直接

但是你可以是什么构建通过连接几个跟踪和未跟踪文件的文件。这可以通过诸如makescons之类的构建工具或通过简单的shell脚本或批处理文件来完成。未跟踪的源文件和生成的文件应该在gitignore文件中列出,以便git不会跟踪它们。