每次都需要使用git clone吗?

3

我对Git比较新,不太清楚如何使用它。

目前,我在远程服务器上有一个Git。我正在尝试将我的计算机连接到这个Git仓库。 从我在网上读到的信息来看,最好使用克隆来实现这个目的。 现在,我已经在远程服务器上对我的仓库进行了一些更改。我想在自己的计算机上更新它们。

我尝试使用pull,但似乎没有任何作用。 我尝试了fetch,但仍然没有更新。

只有当我再次克隆仓库时,我才看到了那些更改。我确信Git可以更新我的仓库,而不必重新复制整个仓库。因此,我的问题是:

每次都要克隆Git才能接收到对仓库所做的更改吗?

以下是我的命令:

在远程Git仓库上:

  1. 执行更改
  2. git add -A
  3. git commit -m "message"
  4. git push master origin

在我的计算机上:

  1. git pull <server information> - 没有更新更改
  2. git fetch... - 没有更新
  3. git clone --depth=1 ... - 下载当前Git状态。

为了明确:如何仅更新我的计算机上的Git,而不是每次重新下载当前的Git状态?

谢谢


检查远程服务器上的提交,然后使用 git log 查看本地仓库中的提交。将两者进行匹配,然后您就能够弄清楚一切了。如果两者完全相同,则表示您已经从远程服务器更新了更改。 - Arpit Solanki
我遇到了这个问题。每当我使用pull或fetch(我认为它们执行更新),我在本地仓库中看不到更改,使用'git log'命令只会显示我克隆的最后一次提交。 - Snifkes
1
如果您想要使用克隆,请不要使用 --depth。请查看 Git 书籍,了解如何与远程存储库正确地交换更改。 - poke
1个回答

1

正如poke在评论中所说的那样,如果您计划实际使用您的存储库,则应避免使用--depth 1--depth选项默认还意味着--single-branch,主要用于“只获取这一个提交,因为我只会使用这一个提交,然后完全丢弃存储库”。

可以使用--depth加上--no-single-branch将有限的历史记录子集获取到浅克隆中,然后对该浅克隆进行一些工作,但这非常棘手。请参阅如何更新git浅克隆?以获取所有详细信息。


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