単一のコマンドを使用して、新しく追加されたファイルを含むすべてのファイルをステージングしてコミットするにはどうすればよいですか?
単一のコマンドを使用して、新しく追加されたファイルを含むすべてのファイルをステージングしてコミットするにはどうすればよいですか?
回答:
する
git add -A && git commit -m "Your Message"
「単一のコマンド」として数える?
以下の@thefinnomenonの回答に基づいて編集してください:
としてgit alias
使用するには、次を使用します。
git config --global alias.coa '!git add -A && git commit -m'
新しいファイルを含むすべてのファイルを次のメッセージでコミットします。
git coa "A bunch of horrible changes"
説明(git add
ドキュメントから):
-A、-all、-no-ignore-removal
作業ツリーでファイルが一致している場所だけでなく、インデックスにすでにエントリがある場所でもインデックスを更新します。これにより、作業ツリーと一致するようにインデックスエントリが追加、変更、および削除されます。
<pathspec>
-Aオプションの使用時にno を指定すると、作業ツリー全体のすべてのファイルが更新されます(古いバージョンのGitは、更新を現在のディレクトリとそのサブディレクトリに制限するために使用されていました)。
git add -A ; git commit -m "Your Message"
このコマンドは、すべての変更されたファイルを追加してコミットしますが、新しく作成されたファイルはコミットしません。
git commit -am "<commit message>"
man git-commitから:
-a, --all
Tell the command to automatically stage files that have been modified
and deleted, but new files you have not told Git about are not
affected.
私はこの関数を使用します:
gcaa() { git add --all && git commit -m "$*" }
私のzsh設定ファイルで、私はただ行うことができます:
> gcaa This is the commit message
すべてのファイルを自動的にステージングしてコミットします。
function gcaa() { git add --all && git commit -m "$*" && git push }
gaa && gc -m "my commit"
。<変更のbashrcにオフscurries ...> ...しかし、これはそれほど進歩して
すべてのファイル(変更、削除、および新規)をステージングし、コメントでコミットするワンライナー:
git add --all && git commit -m "comment"
http://git-scm.com/docs/git-add
http://git-scm.com/docs/git-commit
なぜこれらの答えがすべて正しい解決策であると私が信じるものの周りを踊るのかわかりませんが、ここで価値があるのは私が使用するものです:
git config --global alias.coa '!git add -A && git commit -m'
git coa "A bunch of horrible changes"
注:coa
すべてのコミットの略であり、あなたの心が望むものに置き換えることができます
git alias
方法を探していました、残りは退屈です。
現在のブランチで変更を隠しておくための「迅速かつダーティー」な方法が必要な場合は、次のエイリアスを使用できます。
git config --global alias.temp '!git add -A && git commit -m "Temp"'
そのコマンドを実行した後、git temp
「Temp」という名前のコミットとして、gitに現在のブランチへのすべての変更を自動的にコミットさせるように入力するだけです。その後、git reset HEAD~
後で変更を「コミット解除」して、変更を続けたりgit commit --amend
、コミットに変更を追加したり、適切な名前を付けたりすることができます。
私の設定には2つのエイリアスがあります:
alias.foo=commit -a -m 'none'
alias.coa=commit -a -m
私が怠惰すぎる場合は、すべての変更をコミットします
git foo
クイックコミットをするだけです
git coa "my changes are..."
coaは「commit all」の略です
指定されたコマンドを実行します
git add . && git commit -m "Changes Committed"
ただし、単一のコマンドのように見えても、2つの個別のコマンドが1つずつ実行されます。ここでは&&
、それらを組み合わせるために使用しました。これは、実行git add .
してgit commit -m "Changes Committed"
個別に行う場合と大差ありません
。複数のコマンドを一緒に実行できますが、ここではシーケンスが重要です。ステージングとコミットに加えてリモートサーバーに変更をプッシュする場合は、指定された方法で行うことができます。
git add . && git commit -m "Changes Committed" && git push origin master
代わりに、シーケンスを変更してpush
を最初に配置すると、それが最初に実行され、ステージングおよびコミット後に望ましいプッシュが行われません。
&&
最初のコマンドが正常に戻ったとき、またはエラーレベル0で、行で2番目のコマンドを実行します。反対の&&
isは||
、最初のコマンドが失敗したとき、またはエラーレベル1で2番目のコマンドを実行します。
または、aliseをasとして作成しgit config --global alias.addcommit '!git add -a && git commit -m'
て使用することもできますgit addcommit -m "Added and commited new files"
すばらしい回答ですが、1行ですべてを実行すると、連結、エイリアス、および便利な機能を利用できます。
git add * && git commit -am "<commit message>"
これは1行ですが2つのコマンドであり、前述のとおり、これらのコマンドのエイリアスを設定できます。
alias git-aac="git add * && git commit -am "
(最後のスペースは重要です)新しいショートハンドコマンドをパラメーター化するためです。
この時点から、このエイリアスを使用します。
git-acc "<commit message>"
あなたは基本的に言う:
git、すべての追跡されていないファイルを追加して、この指定されたコミットメッセージでコミットします。
Linuxをご利用いただき、ありがとうございます。