2016-06-08 1099 views
3

我們正在同一個基礎上開發多個項目,所以我們有一個公司存儲庫,其中包含一些分支(每個項目有1個+一些用於合併項目),每個開發人員都有自己的回購相同(或多或少)分支。現在其中一個項目已經開始,它基本上成了主人。其他項目應該合併到它並且不會破壞任何東西。Git pull或git fetch忽略某些文件

所以我有我的回購一個項目的所有代碼/元數據,現在我必須從上游(活項目)拉主,以合併一切。我試過的只是:

git pull upstream master 

這工作(至少我認爲它)。驗證後,我們得到一些錯誤,說有些文件丟失。所以我查了一下,顯然有些文件確實丟失了,但git pull upstream master並沒有將它們拉出來,所以在我的分支中,我只在一個文件夾中看到很多(40+)文件中的幾個(3)(可能還有更多其他文件夾,我沒有檢查其他文件夾)。

如果我嘗試再次拉我得到如下:

MySuperAwesomeLaptopName:ProjectLocation Novarg$ git pull upstream master 
From https://github.com/just_some_super_secret_repository/some_secret_project 
* branch   master  -> FETCH_HEAD 
Already up-to-date. 

但是我清楚地看到,它不是最新的,很多文件都丟失!


我已經看到this question,但OP要求任何解決方案,答案基本上是力覆蓋一切

在我的情況下,我確實需要獲取然後從遠程存儲庫合併。

我可以使用其他問題的答案,只是強行覆蓋我擁有的東西,但它會清除我所有的工作,所以我需要合併所有東西。

我可以在我的分支中手動創建所有這些文件,但這意味着我必須查看所有名稱,只找到缺少的名稱,然後手動複製代碼並保存它。

我也檢查了我的.gitignore文件,這些文件不在那裏。

什麼可以是這種行爲的原因,我如何強制git從上游拉/取所有東西?

回答

0

所以基本上我仍然沒有找到問題的解釋,但我找到了解決方法。如果有人能夠對這種行爲給出一個很好的解釋,我會很樂意接受你的回答,但是現在我會把這個標記爲好。

所以基本上我所做的是:

  • 創建新的分支
  • 拉到上游主
  • 取得了丟失的文件
  • 副本切換回我的分支
  • 粘貼複製的那些文件
  • 將它們添加到git

而在混帳方面的命令是:

git checkout -b some_other_super_awesome_branch 
git pull upstream master 

複製丟失的文件到其他目錄

git checkout my_other_branch 

粘貼丟失的文件有

git add path/to/my/missing/files/* 
git push origin myCoolBranch