[解決済み] Gitで親がいないコミットを作成するにはどうしたらいいですか?重複
質問
私は、バージョン管理ソフトウェアなしで作業していた小さなプロジェクトがあり、それぞれが他のものとわずかに異なる何かを行う、同じスクリプトの3つの異なるバージョンを持つことになりました。私はそのうちの1つのバージョンでgitレポを初期化し、他の2つをそれぞれ親なしでコミットしたいと思います。そうすれば、スクリプトの 3 つのバージョンのそれぞれが異なるブランチの先端であるかのように、相違点をマージすることができます。
これが必ずしもこの問題を解決するための正気か合理的な方法であるかどうかさえわかりません...。このように物事を行う方法についてのアドバイス、またはこの状況を処理するためのより良い方法についてのアドバイスがあれば、非常に感謝します。
どのように解決するのですか?
私のコメントより。
ブランチを2つ作って、そこに他の2つのバージョンを追加して、ブランチで作業してはいかがでしょうか?
ctcherryさんの回答とも一致すると思うのですが。
しかし、もし本当に master とは関係のない、まったく別の "ブランチ" を作りたいのであれば、それを行うには
git checkout --orphan
. これは
のマニュアル
git checkout
オプションの動作について説明しています。
--orphan
:
新規に作成する オーファン ブランチを作成し、<new_branch> という名前で <start_point> から開始し、それに切り替えます。この新しいブランチで行われた最初のコミットは親を持たず、他のすべてのブランチやコミットから完全に切り離された新しい履歴のルートとなります。
このように使うことができます。
git checkout --orphan version2
git rm -rf .
<add version2 script>
git add your files
git commit -m 'Initial commit for version 2'
Git が 1.7.2 よりも古い場合 (この時点で
git checkout --orphan
が導入された) 1.7.2 より古い場合は、次のような代替コマンドを使うことができます。
"新しい空のブランチの作成"
の中で
Git コミュニティ・ブック
:
時折、通常のコードと祖先を共有しないブランチをリポジトリに残しておきたいと思うことがあります。この例としては、生成されたドキュメントや、それに類するものがあります。現在のコードベースを親としない新しいブランチヘッドを作りたい場合は、次のように空のブランチを作成します。
git symbolic-ref HEAD refs/heads/newbranch rm .git/index git clean -fdx <do work> git add your files git commit -m 'Initial commit'
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
gitlab をアップロード ! [リモート拒否] dev -> dev (受信前のフックが拒否されました)
-
Gitで「このリポジトリでは別のgitプロセスが実行されているようです...」と表示される問題
-
git commit コマンドで追跡した新規ファイルをコミットすると、プロンプト *** Please tell me who you are が表示されます。
-
Gitのエラーについて覚えておく-すべて最新にする
-
[解決済み] gitで、リポジトリに無関係のブランチを導入する簡単な方法はありますか?
-
[解決済み] Jenkins Pipeline Git SCM を認証情報でチェックアウトする?
-
[解決済み] 対話式リベースを中断する方法(--abort が効かない場合)?
-
[解決済み] IntelliJのShelveとGit stashの違いは何ですか?
-
[解決済み] gitで、stashを適用せずに、追跡されていないstashedファイルを表示する方法はありますか?
-
[解決済み] どのブランチとマージしたいかを言わずにpullするように言われました。