2017-10-10 75 views
1

即使做git的添加-A後,當我運行的git狀態,我得到這個:git的添加-A不工作

# On branch master 
# Changes not staged for commit: 
# (use "git add <file>..." to update what will be committed) 
# (use "git checkout -- <file>..." to discard changes in working directory) 
# (commit or discard the untracked or modified content in submodules) 
# 
# modified: src/cartographer (modified content, untracked content) 
# modified: src/cartographer_ros (untracked content) 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

任何想法如何解決這一問題?

+1

Git add-a而不是A? – Andromelus

+1

你所引用的文本是'git commit'從'git status'中保存的內容,與'git status'直接寫入的內容不太一樣,這讓我想知道:(a)你使用的Git版本是什麼?和(b)你在頂層目錄的子目錄中嗎?運行'git --version'和'git rev-parse --show-cdup'來確定我的懷疑是否正確:Git版本號低於2.0,並且在src/*'是'../的子目錄中SRC/*'。 – torek

+0

@Aluslus'git add -A'是一個有效的命令... – ifconfig

回答

1

這有什麼用-A選項:修改後的內容,未經跟蹤的內容意味着這些文件夾是submodules

那些子回購包括未跟蹤或修改的文件。

你將需要:

  • 進入這些目錄,
  • 添加並提交那裏,(並推到各自的遠程,假設這些變化必須是有助於回到他們的上游回購),
  • 然後返回到父回購,增加和爲了記錄新gitlink再犯(special entry in the parent index,記錄這些子模塊的新SHA1)

但是,如果這些更改純粹是本地的並且可以忽略(意味着任何人與您再次克隆您的回購目前的變化仍然能夠使您的程序工作沒有子模塊的任何變化),那麼你可以忽略輸出git status