2012-03-09 63 views
2

我一直在Xcode的iPhone項目上工作,並決定我想把它放在github上。我在github上創建了一個repo,克隆它,並將所有文件移動到目錄中。然後我試圖Git不會添加任何文件 - 只是一個空目錄

git add Directory . 

我承諾並推送,發現現在回購的唯一東西就是這個目錄。沒有任何內容 - 我甚至無法單擊它在github文件查看器中打開它以用於回購。它是一個文件夾和文件夾名稱的圖片。我試過

git add Directory . 
git add Directory -A 
git commit -a 

什麼都不會將這些文件添加到目錄。我究竟做錯了什麼?

+0

你在輸入'Directory'部分嗎?你有一個名爲'Directory'的目錄嗎?或者你認爲它是命令的一部分? – Gareth 2012-03-09 01:11:53

+0

目錄只是我的替身目錄的實際名稱(不想共享名稱) – 2012-03-09 01:52:59

回答

0

嘗試git add .或者可能使用git gui並通過點擊圖標來選擇它們中的文件,然後進行提交。

git不跟蹤目錄 - 它跟蹤的文件和目錄來搭便車。如果明確添加文件,則該目錄將作爲文件路徑的一部分包含在內。要添加一個目錄內容git add Directory/*將完成這項工作。

+0

我試過git add。我也嘗試過單獨添加文件。沒有。 – 2012-03-09 01:53:33

1
git add . 

而在目錄裏面應該添加的一切,除非它是由你的.gitignore文件忽略...

1

我很驚訝地聽到,git add . ; git commit工作不適合你。你確定你正在從倉庫最頂層的目錄運行這些命令嗎?以下是您通常希望發生的情況的總結:

cd ~/Directory # or whatever the path is in your case 
git status  # shows lots of "Untracked files" because this is a new repo 
git add .  # adds everything to your index 
git status  # now shows lots of "Changes to be committed" 
git commit  # fires up the editor and finishes the commit 
git show  # shows the commit you just made 

在什麼時候你會失敗?

7

另一個存儲庫可能存在。

這發生在我的插件目錄在我的vimfiles重現這樣

  1. 混帳克隆的東西從GitHub(對我來說,一個插件,例如vim-easymotion)的地方到你的資料庫(在我的情況下進入vimfiles\bundle
  2. git add .,然後git status將顯示所有一個已經實現的是文件夾名稱(在這種情況下bundle\vim-easymotion)已被添加爲new file
  3. git commit,然後git push origin master(推變化的GitHub)
  4. 導航到GitHub上的瀏覽器來檢查,你已在步驟1中克隆的東西進入文件夾,你會看到,它顯示克隆的名字作爲一個空文件

我才意識到發生了什麼事情的時候,從我在Git Bash的vimfiles\bundle\vim-easymotion目錄中,我發佈了git config -l,並注意到對vim-easymotion存儲庫的所有者Lokaltog的引用。所以我發佈了git remote -v,果然,在那個目錄中,Git別名是origin https://github.com/Lokaltog/vim-easymotion.git,這不是我的存儲庫的遠程地址,而是插件的地址。驚呆了我的無知,我導航到插件目錄FreeCommander,顯示隱藏文件,當然插件創建者的.git文件在那裏。

固化,假設你已經克隆別人的倉庫爲你,爲我所做的:在有問題的克隆子目錄

  1. 混帳擊,發出find . | grep /.git | xargs rm -rf刪除所有不必要的.git文件
  2. git remote -v檢查您是否回到您自己的遠程設備的別名
  3. 現在暫時將整個該子目錄移出存儲庫
  4. git status現在將報告一個文件已被刪除(在我的情況vim-easymotion
  5. git add -A來分段刪除,然後git commitgit push origin master在GitHub上從遠程刪除愚蠢名
  6. 移動(現在乾淨)子目錄返回到您的存儲庫,並繼續正常。
+0

這是正確的解決方案。謝謝隊友(y) – kmonsoor 2015-12-01 21:06:43

+0

好的解決方法,謝謝 – JasTonAChair 2016-02-08 12:24:17

相關問題