0

ばかげた質問のように聞こえるので、説明させてください。

私の iOS アプリ プロジェクトはブランチ 'master' にありました。「iOS 7」という名前のブランチを作成し、そのブランチで iOS 7 アップグレードのすべての作業を行いました。ここで、基本的に「iOS 7」ブランチをマスター ブランチにしたいので、「マスター」の作業に戻ります。私はマージを試みましたが、競合が多すぎて解決する価値がありませんでした。今気にしているのは「iOS 7」ブランチだけで、残りは気にしません。

明らかな解決策は、.git ディレクトリをビンに入れ、'iOS 7' の新しいリポジトリからやり直すことですが、git 内でこれを行う方法があるかどうか疑問に思いました。基本的には、「ほら、このブランチが真実です。マスター ブランチにします。現在 'master' にあるものは無視してください」という言い方があります。

編集:このリポジトリを使用しているのは私だけであり、Mac にローカルにしか存在しないことを付け加えておく必要があります。リモートリポジトリはありません。

EDIT 2:私が受け入れた回答によると、この質問は実際にはマージに関するものではありません。何もマージされていないためです。そのため、「マージ」を引用符で囲みました。私が「マージ」という言葉を使用したのは、ブランチの変更をマスターに戻すことを指すときに一般的に使用される用語だからです。通常、それは実際のマージを意味します。私の質問は、そのマージを回避する方法です。受け入れられた答えはそれを完全に行います(他のいくつかの答えと同様)。

4

4 に答える 4

2

masterはまた別のブランチ名です。したがって、ブランチの名前を簡単に変更できます。

git branch -m master master-old
git branch -m "iOS 7" master
于 2013-10-12T12:56:31.167 に答える
1

戦略オプションoursまたはtheirs(マージ戦略を参照) を使用して、マージの一方の側を自動的に優先するように Git に指示できます。あなたの場合、ブランチにいmasterて、ブランチをマージしたい場合は、次のようiOS 7にします。

git merge --strategy-option=theirs "iOS 7"
于 2013-10-12T12:52:33.927 に答える
1

あなたが説明することのどの部分も、マージに関連するものではありません。あなたは唯一の開発者であり、古い状態を完全に破棄してブランチを移動したいだけですか? ブランチを削除して、masterブランチの先頭に再作成するだけios7です。

# Make sure we're starting from the correct branch
$ git checkout ios7

# Delete the old 'master' pointer
$ git branch -d master

# Create a new 'master', pointing at the current commit
$ git checkout -b master

最後のコマンドはmaster、現在のコミット (の先頭) を指すという名前の新しいブランチを作成しios7、それをチェックアウトします。

于 2013-10-12T12:53:39.347 に答える
1

ブランチにいる場合master:

git reset --hard 'iOS 7'
于 2013-10-12T13:00:26.013 に答える