Git pull但从不推送文件

时间:2016-02-19 19:37:25

标签: git

我找不到任何特定的内容,但如果我错过了,请告诉我。

我在git中有一个文件,需要在那里。下拉后,每个人都需要对其进行编辑,以便为其添加自己的凭据。当由个人编辑时,我不希望它显示为已被更改或任何内容,因为我们希望在我们的仓库中保留没有凭证的通用文件。是否可以选择将文件设置为“拉动此文件但从不推送它”? 目前我们的设置是文件名为Upload.bat_COPY_EDIT_RENAME,希望能明白该做什么,并且我在.gitignore中有Upload.bat。我想要一些更白痴的证据。

我知道有一些选项,比如--assume-unchanged但是我不想每次都运行它,它似乎有点像一个可能在以后引起问题的绑定修复。

感谢您的帮助!

4 个答案:

答案 0 :(得分:5)

我建议采用稍微不同的方法......您可以使用您选择的格式编写secrets.txt以从设置文件中读取。比方说你叫secrets.txt。然后,您可以将.gitignore添加到Upload.bat并提交Upload.bat而不受惩罚。当用户撤回回购时,他们将获得secrets.txt并可以创建自己的secrets.txt

您可以使val intent = new Intent(Intent.ACTION_SEND) intent setType "application/octet-stream" val file = getDatabasePath(AbstractKit.DB_FILE_NAME) android.util.Log.d(TAG, file.exists.toString) // true intent.putExtra(Intent.EXTRA_STREAM, Uri.parse(file.getPath)) intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION) startActivity(intent) 只包含用换行符和用户名和密码,用换行符分隔。用这种方式解析应该是微不足道的。

答案 1 :(得分:2)

如果每个人都要重命名该文件,您可以将Upload.bat *添加到.gitignore文件中,然后git不应该使用该命名方案跟踪任何新文件。有关gitignore

的更多信息

答案 2 :(得分:1)

据我所知,git没有永久设置来拉,但从不推送文件。

您可以通过将模板文件存储在git中(如您所知)来获得更可靠的解决方法,并让您的构建脚本(you do have one, right?)检查自定义文件。如果自定义文件存在,那就很好,进行构建。如果它不存在,请提示开发人员提供其凭据并进行设置。然后继续构建。该文件的自定义版本当然是.gitignore。

这基本上就是你现在所拥有的,但是添加了构建脚本,向开发人员提供提醒,而不是依赖于健忘,不经意的人,希望在他们的文件系统中某处注意并理解一个有趣的命名文件。

作为让脚本处理自定义文件创建的额外好处,如果模板发生更改,它可能会自动更新它。

根据凭据,您可能需要仔细检查以确保在运行构建脚本时不会将它们记录到任何日志中。这包括将输出管道传输到文件。

答案 3 :(得分:1)

一种不要求将extern void _putc(char) __asm__("_putc");添加到gitignore的方法是使用批处理文件include。

您可以使用以下内容将名为Upload.bat的文件添加到存储库中:

credentials.txt.dist

然后,在您的批处理文件中:

username=username_here
password=password_here

Batch file include external file for variables

无耻地取走

未经测试:)

批处理脚本应该进行一些错误检查。如果尚未提供for /f "delims=" %%x in (credentials.txt) do (set "%%x") ,则至少应生成描述性错误消息。