2014-03-04 99 views
0

我有這樣的git的狀態:添加的所有文件中的git

User#/d/Work/Project/Module1/NV/build (master)$ git status 
# On branch master 
# Your branch is ahead of 'origin/master' by 3 commits. 
# (use "git push" to publish your local commits) 
# 
# 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) 
# 
#  modified: ../../Module1/CMakeLists.txt 
#  modified: ../../Module1/Container.cpp 
# 
no changes added to commit (use "git add" and/or "git commit -a") 

我如何可以添加2個文件? git add -A不起作用? 我知道有可能使用選項git add ../../.,原因很明顯。

我知道可以用git add選項添加文件,但我不記得它,我也沒有找到它。我使用git version 1.8.1.msysgit.1

+1

您位於子目錄中。爲什麼你不能只做這個命令? cd ../ .. && git add。 – cooperok

+0

>沒有更改添加到提交(使用「git add」和/或「** git commit -a **」)? – Ajedi32

+0

@cooperok我已經說過'git add ../../。'不是一個選項。 –

回答

2

當我從一個子目錄運行git add -A,我的版本的混帳(1.8.3.3)給了我這樣的警告:

警告:的行爲「git的添加--all(或-A)」不帶路徑參數 從樹的一個子目錄將在Git的2.0更改並且不應使用 了。要添加整個樹的內容,運行:

混帳添加--all:/(或git的添加-A:/)

要限制該命令將當前目錄,運行:

混帳全部添加 。 (或git add -A。)

使用當前的Git版本,該命令僅限於當前的 目錄。

所以你可能要找的是git add -A :/。您可以通過git config --global alias.addall 'add -A :/'輕鬆地爲此創建別名。

+0

這是我一直在尋找的! :) 謝謝! –

1

rev-parse命令可以用來尋找你的Git項目的根目錄,然後你可以傳遞到git add命令,就像這樣:

git add $(git rev-parse --show-toplevel) 
+0

'$()'subshel​​l在Bash中適用於我。我不知道msysgit給你什麼 –

+1

在msysgit中工作 –