Git拉取(仅更新本地文件)

10

我想使用git更新本地文件,但每次尝试pull时却出现错误提示要求先提交某些文件。有没有不需要提交就能更新本地文件的方法?

以下是错误信息:

$ git pull 输入私钥'/c/Users/me/.ssh/id_rsa'的密码: 正在更新4dsdSe6e..70fb5b6 错误:您对以下文件的本地更改将被合并覆盖: grails-app/conf/DataSource.groovy 请先提交您的更改或将它们存储起来,然后再进行合并。 中止

2个回答

19

如果你不想提交更改,你需要藏匿它们。这似乎是你要找的:

git stash save "Changes I don't want to commit yet"
git pull
git stash pop

第一行将您的更改储存在堆栈中,并将代码恢复到上一个提交。从那里,您可以像平常一样拉取。一旦您拉取了,就将储藏中的更改放回到您的代码中。这让您可以在不提交代码的情况下执行拉取操作。您可以在此处了解有关储藏的更多信息。

希望这有所帮助!


2
没问题。但请注意,提交更改并不等同于将它们推送到远程仓库。在git中,早期和频繁地提交是一个好的实践。如果你来自CVS背景,这可能看起来很奇怪,但这是git如此强大和多才多艺的一部分。 - bilalq

3

您正在尝试拉取一些文件,这些文件将删除您所做的更改。首先,请使用以下命令提交您的更改:

git commit -a -m "I have changed XXXX"

然后拉其他人:
git pull

如果没有问题需要解决,你可以推送你的更改:
git push

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接