1

リポジトリにチェックインしたくないので、一時的な修正を保存するパッチを作成します。コマンド likegit format-patch --full-index HEAD~1..HEADを使用してパッチを作成します。しかし、新しいコミットがリポジトリにチェックインされると、競合が原因でパッチが適用されない場合があります。

git format-patch --full-index HEAD~1..HEAD --suffix=-`git rev-parse --short HEAD~1`.patch、私は親からハッシュIDを取得するために使用しています。以前のリビジョンにリベースし、パッチを適用してから、再度ヘッドにリベースできます。

これで十分だと思われますが、「format-patch」を使用すると、他の人に電子メールで送信できるパッチを作成できると言う人もいます。もしそうなら、なぜパッチに妥当な名前を付けなければならないのだろうか?

4

2 に答える 2

4

あなたはしなければなりませんか?いいえ。

パッチの目的がわかりやすくなるので、望ましいと思います。

于 2012-12-21T00:49:35.203 に答える
1

それは良い考えだと思います (自分がしていることに名前を付けるのは一般的に良い考えです。それは、自分が何をしているのかを理解していることを意味するためです) が、git 機能を誤用していると思います。

あなたがすることのために、あなたは使うべきgit stashです。これは、元に戻すまで未完了の作業を残すことができる未適用のコミットのスタックです。

$ git status
# dirty working tree
$ git stash
$ git status
# clean working tree - only untracked files
$ git checkout another-branch
# optional: work work work
$ git stash pop
# applies last stash to a clean working tree
$ git stash apply
# applies last stash to a clean working tree but don't remove it from the stash's stack
$ git stash apply
# re-applies same commit
$ git stash apply/pop stash@{3}
# applies/pops 4th commit in stash
$ git stash list
# lists all stash's items
$ git stash save "My commit message"
# saves stash (as with 'git stash' alone), but with a fixed message

これは使用セッションではなく、便利なコマンドの例にすぎません。

隠しておく必要はないと言う人もいますが、後でそのタスクに「戻ってきた」ときに、ブランチ + コミット + リセットする必要があります。(少し前に読んだブログ記事が見つかりませんが、問題ありませんでした)。

于 2012-12-21T05:29:56.713 に答える