2017-01-09 7 views
0

いくつかのローカルコードをリポジトリの新しいヘッドにするために推奨され、最も簡単な方法は何ですか?ただ結果があるべき Git:新しいマスターとしてローカルコードを設定

、ローカルコードに存在しない

  • ファイルはリポジトリ内にあるべきではないローカルコードのバージョンを使用し、

    • ないマージ必要を含む 過去のチェックインの情報を保持しながら、現在のローカルコードで新しいリポジトリを初期化するのと非常によく似ています。

  • 答えて

    1

    次の2つの相反する仕様作られています

    • リポジトリにすべきではないローカルコードに存在しないファイルを
    • 過去のチェックインの情報を保持したまま

    したがって、現在のローカルコードは "one.txt"と "two.txt"というファイルで構成されています。

    過去のチェックインは、 "one.txt"、 "two.txt"、 "red.fish"、 "blue.fish"で構成されています。

    要件#1は "red.fish" リポジトリにすることはできないと言います。

    要件2は、 "red.fish" でなければならず、であることをリポジトリに示しています。

    新しい要件をいくつか選択してください。私はあなたの最初のものが問題の場所だと思っていますが、あなたが求めているものを実現することが重要です。そうでなければ結果は意味をなさないでしょう。

    +0

    結果は、masterにはone.txtとtwo.txtが存在し、red.fishとblueには一致するはずです。地元のコードをコミットするとき、魚は「削除された」とマークされているはずです。 – user236012

    +0

    次に、jdowが言ったように、 'git add -A'とコミットします。これは要件#1に違反します(2つの他のファイルは*リポジトリ*に残りますが、新しいスナップショットには含まれません)が、これは間違った要件であったようです:現在の作業ツリーを " 'git add -A'と同じように、次のコミットに必要なすべてのファイルの集合です。 – torek

    +0

    @ user236012私はそれを理解していない...なぜそのタイトル? gitのユーザは、あなたがマスターを変更したいと思うように感じます(あなたがリポジトリを初期化しないと言うので...) – fedepad

    0

    git add -Aに続いてgit commitが必要です。あなたがブランチマスターにいることを条件とします。

    これは、「過去のチェックインの情報を保持する」と言ったときに、コミット履歴を保持したいと仮定しています。

    0

    私はここにいくつかの誤解があると思います。
    あなたのコンピュータで作業しているときは、基本的にあなたの 'ローカルバージョンのコード'で作業しています。異なるブランチを持っています。そのうちの1つは「マスター」と呼ばれるかもしれません。もちろん、リモートに同期させることもできますし、同期させることもできません。
    @torekには非常に良い点があります!
    おそらくあなたがしたいのは、コードを使ってローカルブランチを作成したり、それを何らかの形で新しいマスターとして扱うことです。しかし、疑問から全く分かりません。私の直感では、次のユースケースをヒットしていることを私に告げるあなたの質問から


    Make the current git branch a master branch
    が、再び、ここでどっちつかずの状態に少し外出。

    +0

    はい、それは少し不明かもしれません。言い換えればそれを説明しましょう。目標は、地元のコードの現在の状況を、さらなる発展のためのある種の新しい出発点として設定することです。かなりの変更/削除/追加があります。手動でマージ処理を行う必要がないように、「このコードをとり、それを現在のマスターにマージして、誰かがマスターを引っ張ったときに、彼はこことまったく同じ状態に終わるだろう」 – user236012

    +0

    @ user236012: 'git pull' *は*" merge "を意味します。 *合併を意味しない場合は、 'git pull'を使わないでください。しかし、バージョン管理システム内のブランチで作業することは、通常はマージできることです。 – torek

    +0

    @torekに同意します! – fedepad

    関連する問題