873

masterつまり、 とdevelopmentGitHub リポジトリに2 つのブランチがあります。示されているように、開発ブランチですべての開発を行っています。

git branch development
git add *
git commit -m "My initial commit message"
git push -u origin development

developmentここで、ブランチのすべての変更を にマージしたいと思いますmaster。私の現在のアプローチは次のとおりです。

git checkout master 
git merge development
git push -u origin master 

私が従っている手順が正しいかどうか教えてください。

4

15 に答える 15

119

個人的には、私のアプローチはあなたのアプローチに似ていますが、いくつかのブランチが追加され、マスターに戻ったときにコミットが押しつぶされます。

私の同僚の 1 人は、ブランチを切り替える必要があまりないので、開発ブランチにとどまり、次のようなものをすべて開発ブランチから実行します。

git fetch origin master

git merge master

git push origin development:master

最初の行は、最後にローカル リポジトリを更新してから master に対して行われたアップストリーム コミットがあることを確認します。

2 つ目は、これらの変更 (ある場合) をマスターから開発にプルします。

3 つ目は、開発ブランチ (マスターと完全にマージされました) を origin/master にプッシュします。

彼の基本的なワークフローが少し間違っているかもしれませんが、それが主な要点です。

于 2013-01-05T06:18:49.540 に答える
24

Git Flow ワークフローをご利用いただければ幸いです。開発ブランチをマスターに簡単にマージできます。

あなたがしたいことは、ここに記載されている git-flow の指示に従うだけです:

手順:

  • git-flow プロジェクトをセットアップする
  • ブランチを作成し、すべてをマージして開発する
  • コマンドを実行しますgit flow release start <version_number>
  • 次に、リリースに意味のあるメッセージを提供します
  • コマンドを実行しますgit flow release finish <version_number>
  • すべてをmasterにマージし、ブランチをmasterに変更します。
  • コマンドを実行して、変更をリモートマスターgit pushに公開します。

詳細については、ページを参照してください - http://danielkummer.github.io/git-flow-cheatsheet/

于 2014-11-10T05:50:27.337 に答える
7

Mac または Ubuntu を使用している場合は、ブランチの作業フォルダーに移動します。ターミナルで

harisdev がブランチ名であるとします。

git checkout master

追跡されていないファイルまたはコミットされていないファイルがある場合、エラーが発生し、すべての追跡されていないファイルまたはコミットされていないファイルをコミットまたは削除する必要があります。

git merge harisdev 

git push origin master

ブランチを削除する最後のコマンドです。

$ git branch -d harisdev
于 2018-02-19T07:45:39.510 に答える
-6
1. //push the latest changes of current development branch if any        
git push (current development branch)

2. //switch to master branch
git checkout master 

3. //pull all the changes if any from (current development branch)
git pull origin (current development branch)

4. //Now merge development into master    
git merge development

5. //push the master branch
git push origin master

Error
To https://github.com/rajputankit22/todos-posts.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/rajputankit22/todos-posts.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Then Use 
5. //push the master branch forcefully
git push -f origin master
于 2019-10-04T21:51:52.197 に答える