問題タブ [git-stage]
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: 一部のファイルのステージングを防止し、すべてを自動的にステージングします
現在の作業コピーのすべてをステージング解除したいのですが、今後編集するすべてのファイルとハンクを自動的にステージングします。
たとえば、私が取り組んでいるプロジェクトでは、他のほとんどの人とは異なるバージョンの CocoaPods を使用しています。CocoaPods を壊すことなく、CocoaPods と互換性があるように構成ファイルの構成をアップグレードしたいと考えています。これを行う最も簡単な方法は、プル リクエストに新しい構成を含めないことですが、それではビルドできません。構成を編集した後に隠してから変更を適用すると、ポップすると構成は修正されますが、変更が取り消されるため、スタッシュとポップは機能しません。
これを修正するにはどうすればよいですか?
git - GIT を使用して、ステージング領域のコンテンツを最後のコミットとどのように正確に比較するかについて、疑問がありますか?
私はGITにかなり慣れていないので、ステージング領域のコンテンツを最後のコミットと比較する必要があるgit diff --stagedの正しい使用について、次の疑問があります。
したがって、次の出力が得られます。
では、この出力は正確には何を意味するのでしょうか? これは、ステージング エリアに次の 2 行を追加したことを意味していると思います。
1)
2)
最後のコミットにはありません。
私の推論は正しいですか?
git - Git でのファイルの追加を元に戻す
追跡されていないgitのディレクトリにたくさんのファイルがありました。git add .
私は、変更をコミットしてプッシュするという間違いを犯しました。そのコミットの前に追跡さgit reset --hard
れていなかったファイルが再び追跡されていない場所に戻るにはどうすればよいですか。追跡を解除する必要があるさまざまな場所に多くのファイルがあるため、git reset <FILE>
うまくいきません。
git - Git diff は、新しく追加されたファイルの変更を表示しません
最初に、新しくクローンしたレポで git status を実行しました
今、別のディレクトリからテスト プロジェクトをコピーします。
以下はファイルです
しかし、 git diff は以下の結果を示します
基本的に、何もありません。しかし、ステージングして git diff -cached を実行すると、次のように表示されます
ステージングせずに上記の変更を確認するにはどうすればよいですか (つまり、コピーされたフォルダーがステージングされていない間)。
ここでgitの仕組みを説明してください。最初のコミットなしで、コピーされたフォルダー/ファイルの変更を確認することは可能ですか?
git - Git はファイルをステージングしなくなり、「削除済み」と「未追跡」の両方としてレポートします。それはなぜですか、またそれを回避する方法は?
私は、4 つのファイルを含む単純な git リポジトリで、何度も追加およびコミットすることに成功しています。
しかし最近、それらのいくつかを追加しようとしてステータスを尋ねると、gitはすべてのファイルを削除済みで追跡されていないと報告します。そのため、ファイルを追加できません。
私の唯一の解決策は、バックアップを作成し、リセットしてステージングを解除することです。
何がうまくいかなかったのか、それを回避する方法を理解したいと思います。
intellij-idea - 名前を変更したファイルを自動的にステージングしない方法
ファイルの名前を変更するクラスの名前を intellij で変更すると、名前が変更されたファイルが自動的に git にステージングされます。
そのインテリジにそれをやめてもらいたい。この自動動作を変更するかどうか、また変更する方法を知っている人はいますか?
ノート:
新しいファイルを作成するときに、それを git に追加する必要があるかどうかを尋ねるように intellij を構成しました。ここで説明されているように: Intellij Idea は自動的に変更をステージングできますか?
しかし、クラス/ファイルの名前を変更するとき、何も尋ねません
git - difftool を使用した、同じファイルのステージングされたバージョンとステージングされていないバージョンの違い
staged
同じファイルのとunstaged
バージョンの違いを表示する方法はありますか?
例えば:
これは、変更をステージングしてから、ステージングせずにファイルを再度変更したときに発生します。
EDIT
/コマンドを使用する必要があるため、git status -vv
コマンドは十分ではありません。これは、実際には、あまりにも多くのファイルにあまりにも多くの変更があり、それらすべてをスクロールするのは効率的ではないためです。しかし、/を使用すると、関心のあるファイルを指定できます。diff
difftool
diff
difftool
xcode - libgit2: ハンクで特定の行をステージングする方法
特定のテキストを部分文字列として含む行のみをステージングできるようにする Mac アプリケーションを作成しています。基本的に、ソースツリーがユーザーに提供する機能を構築しようとしています。選択した行をハンクにステージングします。私の選択ロジックは、特定のテキストを部分文字列として含む行を選択することです。しかし、libgit2 でこれを実現する方法がわかりませんでした。
このようにレポを初期化しました
次に、以下のような作業ディレクトリへの差分インデックスを作成しています。
その後、以下のようなコールバック関数を使用して、ハンクと各ハンクの行を反復処理できます。
ハンクの各行に対してコールバックが呼び出されます。
今、どうにかしてパッチを作成し、差分に必要な行だけをパッチに追加する必要があることに気付きました。
誰でも正しい方向に導くことができますか? libgit2がまだこれを許可していない場合、これを許可できる他のライブラリはありますか? また、アトラシアンのソース ツリーは内部で libgit2 を使用しているようです。彼らはどのようにこれを実装できたでしょうか?
ところで、git CLI では、この回答に示されているように、パッチを適用してそれを行うことができます。 https://stackoverflow.com/a/32311872/569497