問題タブ [git-commit]
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 - マージコミットにマージされたコミットを確認するにはどうすればよいですか?
my-feature-branch
にマージされた場合my-main-branch
、どのコミットがからマージされたかを確認するにはどうすればよいmy-feature-branch
ですか?
git - GITプルがコミットを削除しました
git pullの後、マージ前にコミットIDを使用してマージを元に戻すためにgit resetをハードに実行しました。どういうわけか、コミット全体が失われ、履歴にコミットが表示されません。しかし、私はコミットIDを持っており、gitshowコマンドで変更を確認できます。
変更を元に戻す方法と、行った間違いを追跡する方法
git - Gitリポジトリからのファイルのパージに失敗し、新しいバックアップを作成できません
次のコマンドを実行して、リモートリポジトリからファイルを削除しようとしました。
しかし、Gitはそれを不平を言います
新しいバックアップを作成できません。以前のバックアップはすでにrefs/original /に存在し
ます-fでバックアップを強制的に上書きします
rm:/.git-rewrite/backup-refsを削除できません:許可が拒否されました
rm:ディレクトリを削除できません/.git-rewrite:ディレクトリが空ではありません
これは、Windowsで.git-rewriteディレクトリをすでに削除した後のことです。
そのファイルを削除するにはどうすればよいですか?これは私のリポジトリにある29Mbのファイルなので、ファイルを削除する必要があります。
でコミットを削除しようとしましたgit rebase -i
が、コミットが多くの異なるファイルに触れたため、Gitが競合を訴え、安全のために中止しました。
git - `gitpush`の後にローカルおよびリモートで`gitcommit`を元に戻すにはどうすればよいですか?
私はgit commit
続いて実行しましたgit push
。ローカルリポジトリとリモートリポジトリの両方でその変更を元に戻すにはどうすればよいですか?
git - 作業ディレクトリとgitインデックスの違いは何ですか?
gitブックはgitインデックスを定義します:
Gitインデックスは、作業ディレクトリとリポジトリの間のステージング領域として使用されます。インデックスを使用して、一緒にコミットする一連の変更を構築できます。コミットを作成すると、コミットされるのは現在インデックスにあるものであり、作業ディレクトリにあるものではありません。
しかし、私はまだそれを理解するのに苦労しています。特に、「コミットされたものは私の作業ディレクトリにあるものではない」という強調されたステートメントです。
これまでのところ、gitでの限られた作業では、次の場合、作業ディレクトリ内のすべてが常にコミットされます。
次に、gitはすべての変更されたファイルとすべての新しいファイルをコミットします。
それで、事実上、私の作業ディレクトリはステージング領域ですか?
それでは、それが何であり、git index
それがステージング領域としてどのように解釈されるのかはわかりません。
説明してもらえますか?
git - git commit+gitブランチを元に戻します-ひねりを加えて
私は、プロジェクトのディレクトリツリーの既存のスナップショット(gitやその他のバージョン管理ではなく、プレーンでプリミティブなフォルダーコピーによって保存されたもの)を移動することにより、アプリケーション開発の履歴を「後知恵で文書化」する過程にあります。 gitに。
gitの新しい概念と新しい用語の学習に苦労した後、突然、「おっと...私の最後のgit commit
+ git branch <branchname>
1つのスナップショットをスキップした」と気付いたとき、この移行プロセスは順調に進んでいたようです。
スナップショットをコミットする順序は私にとって重要なので、最後のgit commit
+を完全に元に戻したいと思います。git branch <branchname>
つまり、Gitブックの「Undoingin Git 」の章の下部で定義されているように、「コミットを変更して修正する」ということです。
すべてがまだローカルであるため(私はまだ何も「公開」も「プッシュ」もしていません)、これは「履歴の書き換え」に関する警告と一致していると思います。:)
私の理解に基づいて必要な次の手順を確認または修正していただけますか?
- 作業ディレクトリを空にします(
.git
もちろん、サブディレクトリを削除せずに) git checkout <folder-name>
(作業ディレクトリを、間違ったフォルダをコミットしてgitブランチでタグ付けした直後の状態に戻します)git branch -D <branchname-of-mistaken-folder-commit>
git commit --amend
この時点で、gitは最後のブランチとコミットが行われたことをもはや覚えておらず、作業ディレクトリには誤ったフォルダが含まれていると思います(これを削除し、スキップしたフォルダに完全に置き換えます)。これは正しいです?
git - Gitサブモジュールリファレンスはツリーではありません
ここの開発者は、gitの使用に推奨される手順を実行し、サブモジュールのコミットを失いました。このエラーは、彼女がスーパープロジェクトをプッシュしたが、サブモジュールはプッシュしなかったことを意味することを理解していますが、彼女はこれを拒否し、彼女が私に見せたコマンドの履歴を持っています。これを引き起こしたと思われる手順は次のとおりです。将来これを避けるように彼女に言う方法を理解したいと思います。
- 彼女はサブモジュールとスーパープロジェクトにコミットしました。
- 彼女は自分の枝に最新のものを入れました。これにより、サブモジュールの競合が発生し、実際のコンテンツの競合は発生しませんでした
- 彼女はそれを解決するためにスーパープロジェクトでgitcommit-aを実行しました。(このタイプの競合についても理解しておくと役立ちます)。
- 彼女は別のブランチからマージを実行し、両方の場所でコミットしました。
- 彼女は、各サブモジュールにcdし、プッシュを実行してから、スーパープロジェクトでプッシュを実行するグローバルプッシュを実行しました。
この時点で、サブモジュールの元のコミットでコミットされた彼女の作業はから消えましたgit log
。
git - gitが日付とすべてゼロのハッシュを持たないコミットを作成するのを見た人はいますか?
そのため、先日、WindowsでTortoiseGitを使用している仲間のチームメンバーがログを取得しました。上部には、ハッシュが完全にゼロ、ユーザー、日付がないコミットがありましたが、4つの変更されたファイルとコミットがありました。メッセージ。
少し前からのコミットのようですが、それ以外はわかりません。
このコミットを修正する方法、または単に削除して、常にログの一番上に表示されないようにする方法はありますか?
git - Git コミット フックをスキップする
Pythonコードでprintステートメントを探すgitフックを見ています。print ステートメントが見つかった場合は、git commit が妨げられます。
このフックをオーバーライドしたいのですが、そうするコマンドがあると言われました。私はそれを見つけることができませんでした。何かご意見は?
git - 一部のファイルのみをコミットするにはどうすればよいですか?
私は2つのプロジェクトを持っています。1 つは「公式」プロジェクトで、2 番目は軽微な変更 (いくつかのファイルを追加) です。新しいブランチを作成し、それらに新しいファイルを配置しました。ただし、開発中に、両方のブランチに共通するいくつかのファイルが変更されます。
これらのファイルのみをコミットするにはどうすればよいですか?