如何保持GIT存储库同步

8
我还不太了解GIT。所以我有一个基本问题:
我想让我正在使用的一个repo(我不拥有它,我克隆了它)与我的本地副本保持同步。
我该怎么做?
我知道git fetch/pull,但当我在执行git clone http://.....git的同一文件夹中运行它时,我会得到以下错误:
致命错误:不是git仓库(或任何父目录):.git
谢谢, mE
3个回答

11

git fetch 会从远程仓库检索所有的更改。

git pull 会将这些来自远程仓库的更改合并到您的本地副本中(这相当于一次完成两个命令,即 fetch & merge)。

如果您具有对远程仓库的提交访问权限,则 git push 将把您的本地更改推送到您克隆的源。


当我这样做时,我会遇到一个错误,像这样:fatal: Not a git repository (or any of the parent directories): .git -- 而且我确实在执行命令的同一路径下进行了 git clone。 - amok
@amok 你在克隆的目录里吗?当你输入“git status”时,你看到了什么? - markdorison

2

Git clone会为克隆的仓库创建一个新目录,您需要先进入该目录。例如:

$ git clone git://github.com/git/hello-world.git
$ cd hello-world
$ git fetch

1
git fetch不会将主分支的更新合并到您的本地副本中!您需要使用git pull(请参见下面得票最高的答案)。 - Larry K
他只想解决“不是git仓库”的问题。 - Ilya Ivanov

0

Git fetch会下载远程仓库中的所有更改,但不会更新您的工作树。Git pull会下载更改,并且如果您正在跟踪远程分支的本地分支,则会为您更新它。


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