【问题标题】:Do I have to use git clone every time?我每次都必须使用 git clone 吗?
【发布时间】:2017-07-13 14:14:52
【问题描述】:

我对@9​​87654322@ 有点陌生,我不知道如何使用它。

目前,我在远程服务器中有一个 git。我正在尝试将我的计算机连接到这个 git 存储库。 根据我在网上阅读的内容,最好使用克隆来实现此目的。 现在,我在远程服务器上的存储库中进行了一些更改。我想在我自己的电脑上更新它们。

我曾尝试使用拉,但它似乎没有做任何事情。 我试过 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... - no update
  3. git clone --depth=1 ... - 下载 git 的当前状态。

明确一点:我怎样才能只更新我计算机的 git 而不是每次都重新下载当前的 git 状态?

谢谢

【问题讨论】:

  • 检查远程服务器上的提交,然后使用git log 查看本地仓库中的提交。匹配他们两个,然后你将能够弄清楚一切。如果它们都相同,那么您已经从远程服务器更新了更改
  • 我做到了。每当我使用 pull 或 fetch(我假设执行更新)时,使用“git log”我看不到本地存储库中的更改。它只会显示我克隆的最后一次提交。
  • 如果您想使用您的克隆,请不要使用--depth 进行克隆。请check out the Git Book 了解如何与远程存储库正确交换更改。

标签: git github version-control


【解决方案1】:

作为poke said in a comment,如果您打算实际使用您的存储库,您将希望避免使用--depth 1--depth 选项,默认情况下也暗示 --single-branch,主要用于“让我只提交一次提交,因为我将只使用一次提交,然后丢弃存储库完全”。

可以使用--depth 加上--no-single-branch 将有限的历史子集放入浅层克隆,然后在该浅层克隆上做一些工作,但这很棘手。有关所有血腥细节,请参阅How to update a git shallow clone?

【讨论】:

    猜你喜欢
    • 2016-11-04
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多