2016-03-31 11 views
4

背景全体gitの履歴は

をダブルアップされて、私はちょうど私のレポで全体のコミットの歴史がダブルアップしていることに気づきました。

参考までに、私は唯一の貢献者であり、私的なリポジトリです。

投稿者が2人いるように見えます。私のコンピュータの1つにある情報がまだgit config --global user.emailの古いアカウントがあるためです。

私はプロジェクトをクローンして別のコンピュータから作業を開始した後に倍増しました。 git logから

抜粋:

commit 76cd0efa307e501abfe13cd907957e4dcff7e75e 
Author: myaccount <[email protected]> 
Date: Mon Mar 21 18:58:39 2016 +0100 

FEATURE - Add VideoNotFoundException. 

commit 0430ef9dc5d3baa2189ba1c18b4bedb9d2940e51 
Author: myaccount <[email protected]> 
Date: Mon Mar 21 18:58:39 2016 +0100 

FEATURE - Add VideoNotFoundException. 

commit 94e7221e472e29119c9e4fe48944cd4d7528e207 
Author: myaccount <[email protected]> 
Date: Mon Mar 21 18:41:11 2016 +0100 

FEATURE - Add previous/next video links to video view. 

commit 8b26a51b84d4fb3ae72eefe2834649ff8bc8b7ce 
Author: myaccount <[email protected]> 
Date: Mon Mar 21 18:41:11 2016 +0100 

FEATURE - Add previous/next video links to video view. 

commit 7f9b3b6f214e445918d509d7f9377d3d7ce875da 
Author: myaccount <[email protected]> 
Date: Tue Mar 15 17:05:46 2016 +0100 

CLEANUP - Remove unused code/uses. 

commit c83fa2c238d1437c967b40d6e807c2567eb7572d 
Author: myaccount <[email protected]> 
Date: Tue Mar 15 17:05:46 2016 +0100 

CLEANUP - Remove unused code/uses. 

約半分実際、本当のコミットであるのリポジトリにコミット234は、今があります。これはまた、GitHubの上で反映され

enter image description here

git log --graph --decorate --oneline --all however does NOT reflect this. 

* 303bbfe (HEAD, origin/master, origin/HEAD, master) MERGE 
|\ 
| * b8052ce REFACTOR - Refactor front page content for maintainability. 
| * b5907b2 VISUAL - Improve front page mobile view. 
| * 0430ef9 FEATURE - Add VideoNotFoundException. 
| * 8b26a51 FEATURE - Add previous/next video links to video view. 
| * c83fa2c CLEANUP - Remove unused code/uses. 
| * 9e82b8f BUGFIX - Fix redirecting /login to front page. 
| * 491b88e BUGFIX - Redirecting old playlist and video links to new ones. WIP: Code duplication! 
| * a7da158 Merge branch 'master' of https://github.com/alrasch/UDLv2 
| |\ 
| | * a3bfe1b BUGFIX - Fix 500 error on 404 page. 
| * | 258d2e9 BUGFIX - Redirecting old URLs to new ones. 
| |/ 
| * 4426681 FEATURE - Add more UDL logo assets. 
| * 7d15c7c FEATURE - Add custom 404 page. 
| * 6fbb5dd FEATURE - Add 'forgot password' function. 
| * 92dd4c8 VISUAL - Fix video view layout. 
| * 8a7decb VISUAL - Scale UDL logo to 75% on front page. 
| * 0900fbc VISUAL - Rearrange discipline view layout. 
| * 1ba38c8 VISUAL - Scale UDL logo on playlist view down to 75%. 
| * eef7cd1 VISUAL - Fix playlist view layout. 
| * b7fa6cb Made sidebar space on front page. 
| * ace9fb6 COSMETIC - Logo on front page and navbar. Rounder buttons. 
| * bbf12b3 Add MathJax LaTeX sitewide. 
| * 6629128 Customize register form and add email activation. 
| * 27f7114 FEATURE - Add basic search to navbar. 

私の試み

を、私はそれは私がしなければならないものだ場合リベースして退治する反対していませんよ。私はgit rebase -i HEAD~nを使用しようとしましたが、倍増はそこのコミットのリストに反映されていないので、私はできません。

質問

は、私が(ある時点に基づいて)以前の状態にリポジトリをリセットすることはできますか? (参考のため、私のレポはGitHubにあります)

何も問題がなければ、私はすべての機能が維持されているので、リポジトリを新たに起動できると思います。それはただ面倒な歴史です。

関連質問

Fixing git double-commit historyの重複として閉じないでください。質問は似ていますが、受諾された回答は私のケースには当てはまりません。なぜなら、二重にされたコミットは、選択/スカッシュを選択したファイルgit rebaseに反映されていないからです。

+1

'git log'に追加の引数を指定していますか?また、 'git log --graph'、または' git log --oneline --decorate --graph'( '--graph'を追加することはしばしば明らかです)を試してください。また、 'git log --oneline --decorate --graph --all'を見てください。 – torek

+0

これはGithubの歴史に反映されていますか? –

+0

@torek - 'git log --graph'は、同じ"行 "上にある2倍のコミットをすべて表示します。相違はありません。相違がある部分は、他のブランチをマスタにマージしたときだけです。そこにも2倍のコミットがあります。 – Alec

答えて

1

この回答は、約1週間の調査の後、電子メールでGitHubチームが推奨したものです。

原因

いくつかの時点で、私は強制的にプッシュされた後git filter-branch、(git push -f originを)でしたが、私は私の地元のクローンをリベースすることを怠っ。次のプッシュで、私のローカル履歴はリモート履歴の上にプッシュされ、コミットの倍増を引き起こしました。

ソリューションは

悲しいことに、このための迅速修正はありません。解決策は、私の最初の疑惑と同じように、すべてのコミットを完全にrebaseする必要があり、picksquashの二重コミットの各ペアです。

これには、Git's interactive rebase toolを使用できます。

かなりの歴史を持つリポジトリの場合、これはかなりの作業になり、非常に時間がかかることがあります。

代替ソリューション

作業ツリーは良い形にまだあるので、別の解決策は、単に新しいプロジェクトに取り組んでツリーを移行することです。

注意:これを行うことでコミット履歴を失うことになりますが、それに直面しましょう、それが最初の目標です。

関連する問題