2017-10-17 87 views
0

我有一個Git倉庫,它存在於Github上。我在具有相同文件結構的遠程服務器上擁有相同的存儲庫。事情發生了,並在我的遠程服務器上.git目錄被刪除。如何開始重新生成git存儲庫?

有沒有辦法我可以改變的遠程服務器上我的倉庫與Github上庫作爲origin再次跟蹤在Github上的人嗎? 完成之後,我希望遠程服務器上的存儲庫的行爲與Github上的存儲庫的行爲完全相同。

我不能刪除從遠程服務器的存儲庫,並從GitHub再次克隆它。

回答

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 
1

是的,您的遠程服務器上使用:

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

,你可以這樣做:

git init 
git remote add origin <remote-url> 
git pull 
  1. 由於. git文件夾被刪除,git init將在遠程服務器
  2. 重新初始化混帳回購協議
  3. 添加origin可以幫助您跟蹤github中的回購本地回購
  4. 一旦添加了origin,就會從github中獲取更改。
+0

因爲.git文件夾被刪除,'git init'會初始化git repo,然後可以發出第二個命令來跟蹤原點 – learner

+0

我不明白這一點。我瞭解到他正在跟蹤的遠程回購已將其.git文件夾刪除。我刪除了我的評論。 – lilezek

+0

我更新了一下我的問題。我希望遠程服務器上的回購行爲像Github回購的克隆一樣。這個答案中的命令將簡單地添加一個'remote',其中的原點名稱指向Github。我將如何從Github獲取更改和分支信息? – Waseem

相關問題