2016-08-13 21 views
0

我被困在那很長一段時間,不能找到解決方案 我有一個分支名爲mastergit命令獲取遠程更改不管是什麼

我在文件夾application與一些較舊版本的主。

現在我想要用遠程主站中的最新代碼替換當前文件夾內容的命令。

可以有很多情況,但我想忽略以下

  1. 所有的東西有沒有可以文件本地修改
  2. 可以有未跟蹤文件
  3. 可以有力推的主用全新的代碼
  4. 可以有一些沒有檔案的檔案,現在在主檔案中,所以當你拖拉時有機會與遠程檔案發生合併衝突
  5. 當你做混帳狀態時,可能會說
    1. 分支master和UPTODATE
    2. 分支主烏爾分支和origin/master的已發散
    3. 分支主,正在進行
    4. 當前底墊你是在分離的頭狀態
    5. 你分支開發

因此,對於所有這些上述情況,我想忽略,我只想最新的代碼。

最簡單的方法是刪除該文件夾和克隆

另一種方法是下面真的那髒,不想做

cd /application && git reset --hard && git rebase --abort | true && git checkout master && git fetch origin && git reset --hard origin/master 

回答

1

最好的辦法是檢查出產地/主。這避免了必須處理本地主分支的狀態和任何合併問題。

# Abort a rebase, if any 
git rebase --abort 

# Fetch the latest from origin 
git fetch origin 

# Check it out and throw out any changes 
git checkout -f origin/master 

# Clean out all untracked files. 
git clean -dxf 
+0

是否有可能將其減少到更少的命令。 Alsi,當我們做混蛋提取起源然後它提取所有分支,是否有可能只git獲取起源/主人 – Karl

+0

@Karl,'git獲取起源大師'只提取'origin/master'。 –

+0

@karl AFAIK,就是這樣。 Git不是一個發佈工具。如果你嘗試將它作爲一個使用,那麼就會發生這種情況。另外,雖然您可以只取一個分支,除非其他分支非常分散,取而代之的是其他分支。 – Schwern

相關問題