如何开始重新训练git存储库?

时间:2017-10-17 16:06:07

标签: git

我有一个git存储库,存在于Github上。我在具有相同文件结构的远程服务器上具有相同的存储库。事情发生了,在我的远程服务器上删除了.git目录。

有没有办法可以在远程服务器上更改我的存储库,以便再次使用Github上的存储库origin跟踪Github上的存储库? 执行此操作后,我希望远程服务器上的存储库的行为与Github 上的存储库完全相同。

我无法从远程服务器中删除存储库并再次从Github克隆它。

3 个答案:

答案 0 :(得分:1)

是的,请在您的远程服务器上使用:

git remote set-url origin <your github remote url>

答案 1 :(得分:0)

你可以这样做:

git init
git remote add origin <remote-url>
git pull
  1. 由于删除了. git文件夹,git init将在远程服务器中再次初始化git仓库
  2. 添加origin可以帮助您跟踪github中的一个本地仓库
  3. 添加origin后,将从github中提取更改。

答案 2 :(得分:0)

这就是我能够做到的。它涉及在远程服务器上创建临时master分支,然后将其替换为origin/master

git init
git remote add origin <url/to/origin>
git fetch -a

此时您将拥有一堆未跟踪的文件。我们现在进行提交并在远程服务器上创建一个master分支,这与Github上的分支不同。

git add .

您可能不希望将所有文件暂存到提交中,而是将其保留为未跟踪状态。使用git reset -- </path/to/file/to/unstage>取消暂存这些文件或目录。

git status # Check the files that you're going to commit.
git commit # Create a temporary master branch for now.

现在重命名主分支并创建另一个跟踪master

origin/master
git branch -m master temp-master # Rename the just created master
git branch --track master origin/master # Track origin/master in master

现在删除temp-master

git checkout master
git branch -d temp-master # You might need to use -D

检查一切是否正确

git log