Gitはすべての変更されたファイルを追加します

Git Add All Modified Files



Git addを扱っている場合、変更されたすべてのファイルを追加するための複数のオプションがあります。可能性を理解するために、いくつかのシナリオを見てみましょう。

新しいプロジェクトを初期化しましょう。







$mkdir事業

$CD事業

$git init
初期化された空のGitリポジトリ /ユーザー/zakh_eecs/_仕事/LearnGIT/git_add/事業/。行く/

$捨てた '新たなプロジェクト' >>ReadMe.txt

$git addReadMe.txt

$git commit -NS 「初期コミット」
[主人((ルートコミット)。47b9af1]初期コミット
1 ファイルかわった、1挿入((+)。
作成モード100644ReadMe.txt

このプロジェクトでは、ReadMe.txtファイルを追加しました。 gitaddコマンドを使用してReadMe.txtを追加しました。 addコマンドは、ファイルを追加するためだけのものではありません。また、ファイルの変更も追加されます。このチュートリアルでは、簡単にするためにファイルの追加と削除のみを行います。ただし、addコマンドは、ステージング領域に変更を追加するものと考えてください。次に、commitコマンドを使用して変更を公式にする必要があります。



多数のファイルやフォルダを処理している場合、各変更を個別に追加することは困難です。したがって、次のコマンドを使用できます。



$git add
$git add -に

2つのコマンドがどのように動作するかを見てみましょう。





$ touch a.txt b.txt c.txt

$ gitadd。

$ gitステータス
ブランチマスターについて
コミットする変更:
(「gitreset HEAD ...」を使用してステージングを解除します)

新しいファイル:a.txt
新しいファイル:b.txt
新しいファイル:c.txt

$ git commit -m'a.txt、b.txt、c.txtを追加します '
[マスター9ca90fc] a.txt、b.txt、c.txtを追加します
3つのファイルが変更され、0の挿入(+)、0の削除(-)
作成モード100644a.txt
作成モード100644b.txt
作成モード100644c.txt $接するx.txt y.txt z.txt

$git add -に

$gitステータス
ブランチマスターについて
コミットする変更:
((使用する「gitresetHEAD ...」ステージを解除する)。

新しいファイル:x.txt
新しいファイル:y.txt
新しいファイル:z.txt

$git commit -NS 'x.txt、y.txt、z.txtを追加'
[マスター8af8c12]x.txt、y.txt、z.txtを追加します
3ファイルが変更され、0挿入((+)。0削除((-)。
作成モード100644x.txt
作成モード100644y.txt
作成モード100644z.txt

どちらのオプションも同じように機能するようです。

さらに調査するために、作業ディレクトリのルートレベルに何かを追加してから、フォルダにさらにファイルを追加する状況を作成しましょう。



$接する 1。txt

$mkdir新着

$CD新着

$接するm.txt n.txt o.txt

$git add

$gitステータス
ブランチマスターについて
コミットする変更:
((使用する「gitresetHEAD ...」ステージを解除する)。

新しいファイル:m.txt
新しいファイル:n.txt
新しいファイル:o.txt

追跡されていないファイル:
((使用する「gitadd ...」含める何がコミットされますか)。

../1。txt

Gitが1.txtファイルを上位レベルのフォルダーに追加しなかったことに注意してください。

d.txtファイルでnestedというフォルダーを作成し、gitaddを使用した場合。もう一度コマンドを実行すると、o.txtが追加されているのに、1.txtがまだ追加されていないことがわかります。

$mkdirネストされた

$接するネストされた/d.txt

$git add

$gitステータス
ブランチマスターについて
コミットする変更:
((使用する「gitresetHEAD ...」ステージを解除する)。

新しいファイル:m.txt
新しいファイル:n.txt
新しいファイル:ネスト/d.txt
新しいファイル:o.txt

追跡されていないファイル:
((使用する「gitadd ...」含める何がコミットされますか)。

../1。txt

それでは、git add-Aコマンドを使用しましょう。

$git add -に

$gitステータス
ブランチマスターについて
コミットする変更:
((使用する「gitresetHEAD ...」ステージを解除する)。

新しいファイル:.。/1。txt
新しいファイル:m.txt
新しいファイル:n.txt
新しいファイル:ネスト/d.txt
新しいファイル:o.txt

これで、フォルダー内の1.txtがステージング領域に追加されました。
フォルダの外観は次のとおりです

事業
| --1.txt
| --ReadMe.txt
| --a.txt
| --b.txt
| --c.txt
| --x.txt
| --y.txt
| --z.txt
`-新しい
| --m.txt
| --n.txt
| --o.txt
`-ネスト
| --d.txt

したがって、gitaddを使用している場合。コマンドを実行すると、そのレベルからのすべての変更が追加されます。ただし、git add -Aオプションを使用すると、モジュール全体で変更が検索され、追加されます。

結論

Git addコマンドは、変更されたファイルを追加するための強力な方法を提供します。コードの自然なディレクトリ階層を使用して、何を追加するかを制御できます。

さらなる研究: