見ることができるコマンドラインツールはありますかすべての.gitリポジトリのディレクトリを再帰的に通過し、コミットされていないコードをチェックしますか?ユースケースは、私が職場と自宅にマシンを持っていて、仕事の後に家に帰る前にGithubにコードをプッシュするのを忘れることがあります。これを行うことができるそのようなツールは存在しますか?おそらくgit自体がこれを行うことができますか?
このようなものを自分で書きたいと思うかもしれません楽しみのために-コミットされていないコードがないか.gitリポジトリを検査する方法を知っている人はいますか? gitコマンドを実行して、なんとかして結果を収集できると思いました。
回答:
回答№1は1git status --s
のようなものを取得します
M includes/angular/settingsCtrl.js
M index.php
M templates/views/settings/profile.php
?? vendor/apache/
現在の作業ディレクトリにあるすべての新しい/変更されたファイルはどれですか
それらの結果をgitaddにフィードできます 次にgitcommitを実行し、次にgitpushを実行します
シェルスクリプトでこれを行うことができるはずです
回答№2の場合は1
gitがどのように機能するかを説明しましょう(一般的に)。
Gitには次のようなものがあります 3つの州.
ザ 3つの州 は非常に基本的なgitであり、行った変更はこの構造に反映されます。
簡単にするために、次のように表示します。
各プロジェクトには、それぞれ1つずつあります。
- ザ 作業ディレクトリ コードを記述したファイルシステムです。
- ザ スタッティングエリア コミットする前にファイルを追加する場所です。
- ザ リポジトリ すべての変更をコミットして保存する場所です。
前に述べたように、各プロジェクトにはそれぞれ1つありますその結果、別のブランチに切り替えるたびに、作業ディレクトリとステージングからのすべてのコンテンツが「移動」し、コミットするまですべてのブランチに表示されます。
したがって、何が起こっているのかを理解すれば、あなたの質問に対する答えは簡単です。
どのコンテンツがまだコミットされていないかを確認する必要があります。 gitstatusコマンドで行います。
git status
回答№3の場合は1
私は同じ問題/要件を持っていて、使用することになりました eapen / ucommitted、これは非常にうまく機能します。
もちろん、あなた/他の人が述べたようにスクリプトを書くことは簡単で、素晴らしい学習演習です!