【问题标题】:How to git pull remote and (re)initialize the local project after .git removal?.git 删除后如何 git pull remote 和(重新)初始化本地项目?
【发布时间】:2016-02-12 03:09:41
【问题描述】:

很难解释,但基本上我有一个克隆的远程存储库,它的本地.git 信息已删除。一些工作已经完成;但现在我需要将它重新集成到远程仓库中;如何使用远程 git 存储库“初始化”本地项目?我知道我可以git init 但我不想丢失历史记录或提交等。

【问题讨论】:

    标签: git repository


    【解决方案1】:

    再次克隆项目,然后使用 cprsync 命令将工作树中的所有项目文件覆盖为您修改的内容。

    为防止本地更改和远程之间的潜在冲突,克隆远程后,您应该创建一个新的本地分支并用本地修改覆盖其工作树。然后,将此本地分支与跟踪远程的分支合并。

    【讨论】:

    • .git移除后,与git无关,重新初始化一个新的git仓库成为必然。
    【解决方案2】:

    假设您检出的最后一次提交的 SHA 是 abc123,请执行以下操作:

    git init .
    git checkout -b my_branch (where my_branch is a new branch name you made up)
    git remote add origin <url of your remote repository>
    git fetch
    git reset abc123
    git commit -am "Here are my changes"
    git checkout master (or whatever branch you were on before you deleted .git)
    git merge my_branch
    

    如果你不知道你最后一次提交的确切提交,如果你选择任何提交你最后一次提交的实际提交,这将起作用;你走得越远,你就会有越多的合并冲突。不要选择在您最后一次提交的实际提交之后发生的提交,因为这会导致您丢失更改。

    【讨论】:

      猜你喜欢
      • 2013-11-06
      • 2019-08-14
      • 1970-01-01
      • 2018-10-18
      • 2016-03-11
      • 2018-05-09
      • 2012-05-07
      • 1970-01-01
      • 2023-02-26
      相关资源
      最近更新 更多