0

リポジトリの作業コピーにいくつかの変更を加えました。私は長い間コミットしておらず、すべての変更が追跡されています。

ここで、最初に変更の一部をコミットし、後で変更の別の部分をコミットして、それぞれに戻すことができるようにしたいと考えています。明らかに、変更のこれらの部分は別のファイルにあります。私はgitを初めて使用するので、他の場所で提案された git rm --cache のようないくつかのことを試してみると、すべての変更を元に戻すのではないかと心配しています。親切に助けてください。

4

6 に答える 6

3

git gui と 'stage hunk for commit' または 'stage line for commit' を実行できます

于 2012-04-23T11:52:20.313 に答える
3

コマンドラインで使用できます

$ git add -p

コミットのハンクを選択します。

于 2012-04-23T11:58:24.987 に答える
2

-pオプションを使用することをお勧めしますgit add。これは、ハンクをコミットするかどうかをユーザーにインタラクティブに尋ねるようにgitに指示します。

$ git add -p src_file.c
$ git commit
$ git add -p src_file.c
$ git commit
...

このオプションを使用すると、すべてのハンクに対して次のようなプロンプトが表示されます。

Stage this hunk [y,n,q,a,d,/,s,e,?]?

を押す?と、次のヘルプメッセージが表示されます。

y - stage this hunk
n - do not stage this hunk
q - quit; do not stage this hunk nor any of the remaining ones
a - stage this hunk and all later hunks in the file
d - do not stage this hunk nor any of the later hunks in the file
g - select a hunk to go to
/ - search for a hunk matching the given regex
j - leave this hunk undecided, see next undecided hunk
J - leave this hunk undecided, see next hunk
k - leave this hunk undecided, see previous undecided hunk
K - leave this hunk undecided, see previous hunk
s - split the current hunk into smaller hunks
e - manually edit the current hunk
? - print help

このように追加すると、同じファイルまたは複数のファイルへの変更を複数のコミットに簡単に分割できます。詳細については、をご覧くださいman (1) git-add

于 2012-04-23T12:02:46.377 に答える
1

コマンドを使用してコミットにファイルを追加できますgit add。たとえば type git add file.c、 thenfile.cは next でコミットされgit commitます。追加されていないファイルはコミットされません。コミット後、他のファイルを追加して再度コミットします。

と入力すると、コミットのためにどのファイルがステージングされているかを確認できますgit status。すべてのファイルを追加するには、 と入力しgit add .ます。

于 2012-04-23T11:53:29.470 に答える
1

おそらく私は質問を理解していませんが、いくつかのファイルを追加してコミットし、プロセスを繰り返します。

git add file1 file2
git commit -m "Comment first commit comment"
git add file3 ...
于 2012-04-23T11:55:04.513 に答える
0

変更されたファイルのサブセット内のすべての変更をコミットする場合は、git add <file1> .... ファイルのどの変更をインデックスに追加するかを選択したい場合は、git add -i [<file1> ...]または IMHOを使用すると、作業コピーの状態を変更せずgit add -p [<file1> ...]にインデックスに適用される差分を変更することもできます。

最後に、あなたがVimユーザーなら、絶対にfugitiveを知って使用しなければなりません。

于 2012-04-23T12:00:28.823 に答える