3

バックアップに使用している裸の git リポジトリがあります。ローカル コピーをコミットするたびに、ベア リポジトリにプッシュします。Git が通過し、エラーなしでオブジェクトをプッシュします。今日、ベア リポジトリを通常のリポジトリにクローンして、バックアップが機能していることを再確認しようとしました。クローンを作成したとき、ファイルは最初の裸のクローンを作成したときとまったく同じで、新しくプッシュされたオブジェクトはありませんでした。

ベア リポジトリの objects ディレクトリを確認したところ、新しいファイルが一定期間にわたって追加または更新されていました。ベアレポから新しいクローンにプルしようとしましたが、すべてが最新であると表示されます。また、裸のレポで git log を実行しましたが、元のクローンを作成した日付までのコミットのみが表示されます。

私は何を間違っていますか?プッシュで使用する必要がある別のフラグはありますか? ありがとう。

更新:私はそれを理解したかもしれないと思います-元のベアクローンを作成したとき、マスター以外のブランチにいたようです。マスターがチェックアウトされている間に別の裸のクローンを作成したところ、動作しているようです。

4

2 に答える 2

1

試すgit add - git commit - git pull - git push

于 2012-05-25T18:57:46.337 に答える
1

(ご存じのとおり)ブランチの問題です。デフォルトでgit cloneは、master ブランチをチェックアウトします。したがって、別のブランチでローカルにコミットし、リモートの同じブランチにプッシュした場合、リモートのマスターには何もありません。オプションは次のとおりです。

git clone -b <your branch> <repository>

すべての作業が完了したことを確認し<your branch>ます。または、ローカル リポジトリで、

git checkout master
git merge <your branch>
git push <remote> master

これは簡単なマージになり (マスターが空であるため)、すべてをリモートのマスターにプッシュします。

于 2012-05-25T20:51:25.473 に答える