私は2つの無関係なブランチ、マスターと設定でgit repoを持っています。 私はconfigsを作成し、すべてのファイルをパージしてから、設定ファイルにのみ配置しました。 これをリモートリポジトリにプッシュしたいのですが、新しい、空のブランチ(すべての変更と元のブランチの古いリビジョンのログはありません)でした。履歴なしで新しいブランチをプッシュする方法
すべての履歴を消去してプッシュするにはどうすればよいですか?
私は2つの無関係なブランチ、マスターと設定でgit repoを持っています。 私はconfigsを作成し、すべてのファイルをパージしてから、設定ファイルにのみ配置しました。 これをリモートリポジトリにプッシュしたいのですが、新しい、空のブランチ(すべての変更と元のブランチの古いリビジョンのログはありません)でした。履歴なしで新しいブランチをプッシュする方法
すべての履歴を消去してプッシュするにはどうすればよいですか?
すべてのファイルを消去しても履歴は消去されません。最初に履歴を持たないブランチを作成し、設定ファイルを追加する必要があります。最近ではgit checkout
には--orphan
というオプションがあり、履歴のないブランチになります。ここ--orphan
オプションについての情報は次のとおりです。
< --orphanはnew_branch>
は< new_branch>という名前の新しい孤児のブランチを作成し、< start_pointから始まっ>とそれに切り替えます。この新しいブランチで行われる最初のコミットには親がなく、それは他のすべてのブランチとコミットから完全に切り離された新しいヒストリーのルートになります。
"git checkout < start_point>"を実行したかのように、インデックスと作業ツリーが調整されています。これにより、ルートコミットを行うために "git commit -a"を簡単に実行することによって、< start_point>に似た一連のパスを記録する新しい履歴を開始することができます。
これは、完全な履歴を表示せずにコミットからツリーをパブリッシュする場合に便利です。現在のツリーが「クリーン」であるが、完全な履歴には独自のコードや他のコードが含まれているプロジェクトのオープンソースブランチを公開することができます。
< start_point>とはまったく異なるパスのセットを記録する切断履歴を開始する場合は、 "git"を実行して孤立したブランチを作成した直後に、 rm -rf。 "作業ツリーの最上位レベルから削除します。その後あなたが
など、tarballを抽出し、別の場所からそれらをコピーすることによって、作業ツリーを再増殖、新しいファイルを準備できるようになります。ここcheckoutのドキュメントへのリンクです。 git help checkout
も実行できます。
履歴を持たないブランチを作成したら、それをサーバーにプッシュすると、その履歴もありません。 FWIWは、git push
を「リモートブランチを私のローカルブランチと同じに見せてください」と考えるのに役立ちます。だからあなたが歴史を持ち、プッシュすれば、それは歴史を持つでしょう。そうしないと、プッシュしたブランチは表示されません。
フリーランサーに個人情報を共有したり履歴を削除したりせずにコードを送信する必要がありました。
皆さんがSourceTreeを使用している場合、これは私がそれをやった方法です。私が何か間違っているか、忘れているかどうか私に教えてください。私はソース管理管理についてよく知らないのです。
私がbitbucketをチェックしたとき、これはうまくいっていて、私のコミット履歴を破棄したようです。
これは誰かを助けることを望みます。
すべての履歴を消去してプッシュするにはどうすればよいですか?
git checkout --orphan <name_you_choose_for_orphan_branch>
git commit
次に、あなたの
git push <remote-name> <branch-name>
これは非常に似ています: http://stackoverflow.com/questions/1384325/in-git-is-there-a-simple-way-of-introducing-an-unrelated-branch-to -a-repository – Mark
@マークのおかげで、私は必要なことをします。 – AoeAoe