問題タブ [git-history-graph]

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.

0 投票する
1 に答える
1330 参照

git - ファイルの一部のみのGitログ?

https://stackoverflow.com/a/5493663/1172541では、ファイルに対して git log コマンドを実行する方法について説明しています。git log または他の git コマンドでファイルの一部がどのように変更されたかを追跡する方法はありますか? (もちろん、パーツの長さと行番号が変更されるため、これは間違いなく git の diff エンジンに負担をかけます。ただし、git はその点でかなり優れています。)

0 投票する
10 に答える
242614 参照

git - Visual Studio Code で Git 履歴を表示するにはどうすればよいですか?

Visual Studio Code からさまざまな Git コマンドを実行できますが、履歴を視覚化する方法が見つかりませんでした。

0 投票する
1 に答える
74 参照

git - 履歴をさかのぼっていくつかのコミットを削除する

私たちは、彼が別のブランチにコミットし、私がマスターにコミットしている仲間のプログラマーと一緒にリポジトリに取り組んでいます。
数日前、彼は master を自分のブランチにマージすることに決めましたが、マージ後にいくつかの環境依存の問題に直面し、そのマージを元に戻すことにしました。すべてが順調で、私たちはコミットし続けました。

彼のブランチをマスターにマージする必要があるので、そのマージ以降に変更していないファイルの一部を削除しているため、コミットを元に戻すことに問題があります。

これは、前述のマージを削除することで対処できると思います。履歴から元に戻します。

問題は、歴史のはるか昔にさかのぼるいくつかのコミットを削除する方法です。

0 投票する
3 に答える
479 参照

git - Git: この分岐はどのように発生しますか?

状況

  • ローカルの Git リポジトリがあります。

ここに画像の説明を入力

  • 私はブランチにしか持っていません: master .

  • 以前は別のブランチがありましたが、それをマージしてmasterから削除しました。

  • から分岐したそのようなマージおよび削除されたブランチfe6263e

  • 0c81926だった -- の修正c79dc19

  • タグも、 を指している他のものもありませんc79dc19。オブジェクトが修正されたコミットを指している場合、そのようなコミットは引き続き履歴に表示されることを理解しています。しかし、そうではありません。

質問

  • 歴史の線が平らにならなかったのはなぜですか?

  • なぜまだc79dc19表示されているのですか?

  • どうやってそうなった?

私が言及したように、それを指すものは何もないので、git -gcハングしているコミットをクリーンアップするために を実行しました。

0 投票する
1 に答える
991 参照

git - ルート コミットの親を別のコミットを指すように変更します (2 つの独立した git リポジトリを接続します)。

svn リポジトリに 3 年以上の歴史を持つプロジェクトがあります。それはgitに移行されましたが、これを行った人は、最後のバージョンを取得して、これらの3年間の履歴をすべて破棄します.

現在、プロジェクトには 1 つのリポジトリに過去 3 ~ 4 か月の履歴があり、他の 3 年間の svn 履歴を新しい git リポジトリにインポートしました。

2 番目のリポジトリのルート コミットを最初のリポジトリの最後のコミットに接続する方法はありますか?

それは次のようなものです:

アップデート:

を行う必要があることを知りましたgit rebaseが、どうすればよいですか? SHA-1コードのようにコミット日を考えてみましょう...答えは、 ではなくオプションで使用git filter-branchすることでした。--parent-filtergit rebase

更新 2:

コマンドを試しましたが、git filter-branch --parent-filter 'test $GIT_COMMIT = 443aec8880e898710796a1c4fb4decea1ca5ff66 && echo "-p 98e2b95e07b84ad1e40c3231e66840ea910e9d66" || cat' HEADうまくいきませんでした:

更新 3:

Windows CMD や PowerShell では機能しませんでしたが、Windows の Git Bash では機能しました。