マット、
あなたはまだあなたのレポをプッシュしているし、誰もがそれを消費していますか?そうでない場合...もっと重要なことは、あなたの履歴があなた自身のものである場合は、rebaseあなたの履歴を書き換える必要があることです。のは、私は次の簡単な歴史を持つ例えばレポを持っているとしましょう:
$ git log --summary --stat
001d888 Yet some more work (Fred - 71 seconds ago)
file2.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
3f74e79 Doing some more work (Fred - 2 minutes ago)
file1.txt | 1 +
file3.txt | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
8acc3d8 Adding some more files (Fred - 3 minutes ago)
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1.txt
create mode 100644 file2.txt
create mode 100644 file3.txt
fb3a2e1 Just added a big ole file (Fred - 4 minutes ago)
BigOleFile.blob | Bin 0 -> 33214460 bytes
1 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 BigOleFile.blob
6d0ab2b first commit (Fred - 8 minutes ago)
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
は歴史が直前にコミットのSHAを取得書き換えるために... BigOleFile.blobはあなたの大きなファイルであることを
を想像してみて削除したいもの。この場合、それはです:
6d0ab2b
そして、あなたのgitのログが狂っ大きいが、それをフィルタリングし、まだ試合を中心にあなたにコンテキストを与えるために、次のような何かである場合:
git log --summary --stat | grep avi --context=10
今リベースを対話型オプションを使用して履歴を編集してください。
$ git rebase --interactive 6d0ab2b
あなたはそうのようなものを得るでしょう:
pick fb3a2e1 Just added a big ole file
pick 8acc3d8 Adding some more files
pick 3f74e79 Doing some more work
pick 001d888 Yet some more work
# Rebase 6d0ab2b..001d888 onto 6d0ab2b
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x <cmd>, exec <cmd> = Run a shell command <cmd>, and stop if it fails
#
# If you remove a line here THAT COMMIT WILL BE LOST.
# However, if you remove everything, the rebase will be aborted.
#
は、この場合、それは最初の行です...ファイルが追加されましたSHAを持つ行を削除します。その後、リベースセッション中にいくつかのプロンプトが表示される可能性が高いですが、それはかなりきれいになる可能性があります。確認するために、もう一度gitのログを見ると
Successfully rebased and updated refs/heads/master.
:あなたが完了した後は、メッセージが表示されます
$ git log --summary --shortstat
7c499bb Yet some more work (Fred - 12 minutes ago)
1 files changed, 1 insertions(+), 0 deletions(-)
4dfa303 Doing some more work (Fred - 13 minutes ago)
2 files changed, 2 insertions(+), 0 deletions(-)
2f27c1b Adding some more files (Fred - 14 minutes ago)
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 file1.txt
create mode 100644 file2.txt
create mode 100644 file3.txt
6d0ab2b first commit (Fred - 19 minutes ago)
0 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README
はその後マスターする挑む:
$ git push origin master
Counting objects: 9, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (6/6), done.
Writing objects: 100% (8/8), 751 bytes, done.
Total 8 (delta 2), reused 0 (delta 0)
To [email protected]:xxxxxxxxxxx/temp.git
6d0ab2b..7c499bb master -> master
あなたが見ることができるように。 ..ファイルはすべて消えてしまいました。
このgitリポジトリは個人的に使用しているのですか、他の人にあなたのコミットをプッシュしましたか? – Wesley