首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git -防止特定的提交被推送

Git -防止特定的提交被推送
EN

Stack Overflow用户
提问于 2017-08-03 20:19:54
回答 3查看 595关注 0票数 0

我正在使用git和源树。

我对分支的本地副本中的一些文件进行了3-4次更改。我总是需要在本地进行这些更改,但我希望永远不会意外地将其推送到远程。当然,我可以将这些更改保留为未提交,但这样做可能会在意外丢弃或清除等情况下丢失更改。

有没有什么方法可以让我把一些文件标记为不被推送。

或者,有没有更好的方法来达到我的目的。

其中一些是文件更改&其中一些是我添加到本地存储库的新文件

EN

回答 3

Stack Overflow用户

发布于 2017-08-03 22:18:05

我很抱歉,但总得有人告诉你真相。你不能随心所欲。

您根本不能阻止提交被推入,除非它在另一个非推入的分支中。但在这种情况下,当然不会将Files和您的dev分支放在同一位置。

你不想要的答案

对于新文件,正如其他人所说,您可以忽略它们。

对于已经被跟踪的文件,你可以告诉git用git update-index --assume-unchanged <file>忽略本地修改,但这并不能阻止git在签出时删除修改。

,你能做什么?

我认为唯一的选择是改变你的应用程序加载这些文件的方式(我假设它们类似于配置文件)。

例如,有一个可配置的本地文件夹,可以在其中找到其他属性文件。此文件夹将位于存储库之外,可能位于另一个存储库中,也可能与其他服务一起备份

票数 2
EN

Stack Overflow用户

发布于 2017-08-03 20:32:37

如果您想要提交更改,我建议在一个单独的分支上执行此操作,在每次提交后将该分支重新设置为master。然后,您将在签出本地唯一分支的同时工作,然后在提交之前签出主分支,然后推入主分支,签出仅本地分支,并在主分支上执行rebase。

如果您不需要提交更改:您可以尝试使用.git/info/exclude文件,它的工作方式类似于.gitignore,但只在您的机器上本地运行,并且不提交。

来自Gitdoc - Ignoring files

代码语言:javascript
复制
Explicit repository excludes

If you don't want to create a .gitignore file to share with others, you can create rules that are not committed with the repository. You can use this technique for locally-generated files that you don't expect other users to generate, such as files created by your editor.

Use your favorite text editor to open the file called .git/info/exclude within the root of your Git repository. Any rule you add here will not be checked in, and will only ignore files for your local repository.

In Terminal, navigate to the location of your Git repository.
Using your favorite text editor, open the file .git/info/exclude.
票数 1
EN

Stack Overflow用户

发布于 2017-08-03 20:33:35

对于新文件,有一个相对容易的答案,但您以某种方式修改的文件就有点难了。

对于新文件,您应该只能使用.gitignore。如果您不想将.gitignore添加到项目的.gitignore中,那么您可以使用git向您的用户添加配置,并忽略特定的文件。假设您想忽略foo/目录中的所有文件。您可以通过以下方式执行此操作:

代码语言:javascript
复制
git config --global --add core.excludesfile $HOME/.gitignore
echo "/foo" >> $HOME/.gitignore

对于编辑过的文件,您可能需要创建一个新文件,并修改您的启动程序以正确查找这些新文件。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45484019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档