【问题标题】:Sync GitHub repository with local directory将 GitHub 存储库与本地目录同步
【发布时间】:2013-01-30 04:47:53
【问题描述】:

我在 github 上创建了一个存储库。我的初始仓库内容如下:

D:\github\Learn-PyQt>目录 计算.py 连接.py 货币计算器.py 改进信号.py

以上所有文件在我的远程 git 存储库中都是最新的。我的意思是我已经在我的存储库上成功执行了git add, git commit, git push

现在,经过上述步骤后,我错误地从系统(本地机器)中删除了文件Connections.py。删除后我还没有推送任何东西。

现在,由于文件存在于我的 github 存储库中,我有什么方法可以执行命令并更新上面提到的本地目录的内容。

我知道可以删除当前存储库并执行git clone,但我不想从我的存储库下载所有文件。只是被删除的那一个。所以,类似git sync currentdirectory

【问题讨论】:

    标签: git github


    【解决方案1】:

    简单

    git checkout -- Connections.py
    

    您将取回上次推送或上次添加到索引中的该文件的内容(减去自上次推送以来您可能进行的任何本地修改)。

    简而言之,git checkout 可用于文件或路径,而不仅仅是像提交或标记这样的完整树。

    如果您在意识到您的文件已被删除之前进行了多次提交,那么您将不得不应用“Restore a deleted file in a Git repo”的解决方案之一。

    我特别喜欢,对于缺少一些文件的目录:

     git ls-files -d | xargs git checkout --
    

    git ls-files -d 会显示已删除的文件)

    【讨论】:

    • @VonC - 将整个本地文件夹与 git 存储库同步怎么样?假设我的本地文件夹与 git 存储库(这是最新的源代码)不同步。我怎样才能做到这一点?请帮忙
    • @Ram 只需 git checkout -- yourFolder
    • Acutally 我在 NitrousIO 上,当我执行“git checkout -- BRKsJobs_Board”时,它会说“错误:pathspec 'RKsJobs_Board' 与 git 已知的任何文件都不匹配。”但实际上我在 github 上设置了这个 repo,在 NitrousIO 上也设置了文件夹。 :(
    • @RamakishnaBalla 然后提出一个单独的问题,其中包含您可以在当前设置中提供的所有详细信息。这将比在评论线程中更明显。
    • 这是我发布的问题 - stackoverflow.com/questions/28039173/…。看看,你能不能帮帮我。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 2018-11-30
    • 1970-01-01
    • 1970-01-01
    • 2011-09-16
    • 2023-03-19
    相关资源
    最近更新 更多