問題タブ [git-index]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git stash は追加された変更を削除します
開発中、私は定期的にファイルの作業バージョンを git リポジトリに追加します (コミットはしません)。それらのファイルをコミットできる段階に到達するまで、これらのファイルの作業を続けます。したがって、レポは次のようになります
を実行してgit stash
から を実行するとgit stash pop
、
質問
- 以前のように git stash しないのはなぜですか?
- スタッシュ ポップを実行すると、新しい状態ではなく古い状態が取得されるように、変更を一度にスタッシュするにはどうすればよいですか?
現在、私は手動で行っています
これに関する問題は
- 隠してポップするには5つのステップが必要で、私は2を探しています
- 2 つの背中合わせの隠し場所があったことを覚えていないことがあり、これが作業を少し複雑にしています。
編集-テストサーバーで同様の方法で作業しているため、コマンドラインソリューションを好みます。
git - マージ中に git index の内容はどのように変化しますか (また、マージが失敗した後のインデックスの内容はどうなりますか?)
s やs と同じように、インデックスに何がgit
含まれているかについてはあいまいな考えがありますが、. 私は特に、マージが失敗した場合 (たとえば、何らかの競合が原因で) にインデックスが保持するものを知りたいと思っています。git-add
git-commit
git-merge
git - ディレクトリで「git update-index --assume-unchanged」を元に戻す方法。「--no-assume-unchanged」が機能しない
利用した
そしてそれを期待した
そのコマンドを取り消します。しかし、「パス [ディレクトリ名] を無視します」と表示され、直接は引き続き無視されます。
私も試してみました
しかし、それもうまくいきませんでした。
私はやってみました
ディレクトリ内の各ファイルに対して、しかしディレクトリはまだ無視されています。
私はgitバージョン1.8.4.mysysgit.0を使用しています
ディレクトリを無視するのをやめさせる別の方法はありますか?
git - ファイルの「git add」を不可能にすることなく、追跡されたファイルへの変更を無視する
プリアンブルをスキップしたい場合があります。
次の構造の npm パッケージがあります。
ソース ファイルは CoffeeScript ファイルです。ソース ファイルから JavaScript ファイルをビルドするための make ターゲットがあります。最近まで、各コミットに JavaScript ファイルへの変更を含めていましたが、現在は公開前スクリプトでxyzを使用しています。
公開前のスクリプトは簡単です。
これは、新しいリリースを公開するたびに (make release-patch
たとえば を実行して)、lib/index.jsが再構築され、リリース コミットに追加されることを意味します。この時点まではすべて正常に動作します。
リリース スクリプトはコンパイル済みファイルを自動的に更新するため、コミットするたびに手動で更新する必要はなくなりました。問題は、 を実行した後make test
、lib/index.jsが変更された追跡ファイルとしてgit status
リストされることです。このファイルを誤ってコミットするのを避けたいので、.git status
最初に試したのは.gitignore/lib/
への追加です。ただし、lib/index.jsは既に追跡されているため、これは機能しません。
それから私は発見しgit update-index --assume-unchanged
ました。このコマンドをlib/index.js
引数として実行したところ、ファイルはgit status
. ここまでは順調ですね。ただし、現在はgit add lib/index.js
機能しなくなったため、prepublish スクリプトは機能しません。
prepublish スクリプトは の前に実行git update-index --no-assume-unchanged lib/index.js
できgit add
、その後 でビットを元に戻すことができると思いますgit update-index --assume-unchanged lib/index.js
。これは本当に最善のアプローチですか?
要約すると、ファイルに対する機能を保持しながら、追跡されたファイルへの変更を無視するにはどうすればよいgit add
でしょうか?
git - Git:削除されたファイルをインデックスからリセットする
one.txt
と の2 つのファイルを作成しますtwo.txt
。- 両方のファイルをコミットします:
git add -A
とgit commit -m "message"
- 編集
one.txt
してインデックスに追加します。git add one.txt
- 削除
two.txt
してインデックスに追加します。git rm two.txt
のみをコミットしたいので、インデックス
one.txt
からリセットする必要があります。どうやってするの?two.txt
git commit one.txt
動作しますが、代わりに100ファイルになる可能性があるため、適用できませんone.txt
。
git - git difftool によって生成される「lindex」、「rindex」、「wtindex」ファイルとは何ですか?
私が実行すると:
差分に表示されるファイルを含む一時ディレクトリを作成します。構造は次のようになります。
「左」と「右」のディレクトリは明確です。しかし、「lindex」および「rindex」ファイルとは何ですか? それらには何が含まれていますか?どうすれば表示できますか? 「rindex」ではなく「wtindex」ファイルが存在する場合があります。
egit - GIT ステージングとは何ですか? Add To Index と Add To GIT Index の違いは何ですか?
GibHub プライベート リポジトリを使用しています。私はそれについて十分な知識を持っていません。
Git ステージングとは Git Staging の目的は何ですか?
Git ステージングを使用する場合
Git Staging にファイルを追加するための 2 つの異なるオプションを見つけました。
- プロジェクト エクスプローラー --> チーム --> インデックスに追加
- チーム同期 --> Git インデックスに追加
どちらもファイルを Git Staging に送信します。次に、これら2つの違いは何ですか? ユーザーにとってどちらが良いですか?どちらもファイルを Git Staging に送信します。
ありがとう。
git - git index ファイルがバイナリなのはなぜですか?
私の Git ディレクトリ内のファイルのほとんどはプレーン テキスト ファイルです (圧縮されたルース オブジェクトとパックファイルを除く)。そのため、リポジトリが破損した場合は、ファイルを cat して編集し.git/HEAD
たり、リポジトリを検査したりできます。.git/refs/heads/master
しかし、これ.git/index
はバイナリ ファイルです。手で簡単に変更できるので、プレーンテキストファイルの方が便利ではないでしょうか?
Scott Chacon は、彼のプレゼンテーションで次の画像を示しています (スライド 278)。
私の意見では、これはプレーンテキストファイルに簡単に入れることができます。
では、なぜプレーン テキスト ファイルではなくバイナリ ファイルなのでしょうか。
git - チェックアウトが時々ファイルをステージングするのはなぜですか?
checkout
初めて Git を使い始めたとき、コマンドが非常にわかりにくいと感じました。しかし、Git のバージョン管理モデルに適応するにつれて、それが理にかなっているようになりました。今、同僚に Git を教えなければならないので、簡単に説明しようとしてcheckout
います。簡単な説明があると思いました(ドキュメントから):
作業ツリーへのブランチまたはパスをチェックアウトします
これは、Git を初めて使用する人にとってはさまざまな一連の操作のように見える、チェックアウトで実行できるいくつかのことを統合しているようです。
...最後のものを除いて、それは作業ディレクトリを更新するだけでなく、ファイルをステージングするためです。
チェックアウトすると、作業ディレクトリにコピーされるだけでなく、何かがステージングされる理由または時期をどのように理解できますか?