git-gui - gitlab のブランチ間をマージするにはどうすればよいですか?
高洛峰
高洛峰 2017-05-02 09:47:26
0
6
757
今、私の同僚 A がプロジェクトを開始しました。このプロジェクトは A に分割されており、いくつかの命令と common.css およびその他のコンポーネントが含まれています。
次に、同僚 B が新しいブランチ B を作成します。
同僚 C はローカルでパート B に切り替え、パート C を作成します
その後、同僚 B と C がそれぞれのブランチで開発を行います
開発が完了してリモートにプッシュされた後、プロジェクトのコンテンツをブランチにマージする必要があります

質問 1: ブランチ B をブランチ C にマージしたり、ブランチ C をブランチ B にマージしたりできますか?

質問 2: ブランチ B と C をブランチ A にマージできますか?

質問 3: 作業ツリーへのマージと早送りマージの違いは何ですか?

また、リベースは望ましくありません。
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全員に返信(6)
某草草

皆さんはパブリック開発ブランチを持っていませんか?
dev から開発ブランチをプルします。開発が完了したら、全員がそれを dev にマージします。
競合と競合の解決があります。

いいねを押す +0
小葫芦

まず第一に、ネイティブ git はブランチの作成とマージをサポートしています 1 そのため、git に基づくすべてのコード バージョン管理ツール (gitlab/github など) もデフォルトでブランチ機能をサポートしています(gitlabには権限管理機能も追加されます)

さらに、対象プロジェクトの大きな問題は @52lidan が言ったように dev ブランチがないため、コードのバージョン管理 (ブランチ A かどうか) が混乱します。 B または C が最良のメインですか?) したがって、件名への提案は次のとおりです: dev分支导致代码版本管理混乱(到底是A还是B还是C分支是最主要的?), 所以给题主的建议是:

  1. 项目要有如下的分支

    • master: 正式可以发布到生产环境的代码分支(protected)2

    • dev: 经过开发与初步测试后, 可以正常工作的代码分支, 用以合并所有人的工作以及已经修复的bug(protected)

  2. 每一个任务新建一个分支, 人跟着任务走而不是任务跟着人走. 也就是说, 在远程库上, 该任务只有一个分支, 并且所有人都拉取到本地上. 所有人关于该任务的工作都需要在本地commit后再推送到任务分支. (不建议一个任务有多于三人协作, 否则分解任务为更多的分支)


  1. git分支的新建与合并 ↩
  2. gitlab中可以将分支设置为protected, 该分支只有项目中获得owner/master权限的人才能合并别人提交的merge request
  3. プロジェクトには次のブランチが必要です
  • #🎜🎜#master: 運用環境に正式にリリースできるコード ブランチ (保護されています) #🎜🎜#2#🎜🎜##🎜🎜##🎜🎜#
  • #🎜🎜#dev: 開発と予備テストの後、コード ブランチは正常に動作し、全員の作業と修正されたバグをマージするために使用されます (保護されています)#🎜🎜## 🎜🎜#
#🎜🎜#
  • #🎜🎜##🎜🎜#各タスクは新しいブランチを作成し、タスクが人をフォローするのではなく、人がタスクをフォローします。 つまり、リモート ライブラリでは、タスクにはブランチが 1 つだけあり、全員がローカルでプルします。タスクに対する全員の作業をローカルでコミットしてからタスク ブランチにプッシュする必要があります (#🎜🎜# 3 人以上でタスクを共同作業することはお勧めできません。そうしないと、タスクが分割されます。さらに分岐へ)#🎜🎜##🎜🎜# #🎜🎜#
  • git ブランチの作成とマージ ↩ #🎜🎜#
  • gitlab では、ブランチを protected に設定できます。このブランチの owner/master 権限を取得したユーザーのみが送信をマージできます。他の人によって送信された マージ リクエスト ↩ #🎜🎜# #🎜🎜#
  • いいねを押す +0
    Ty80

    質問の意味がよくわかりません。マージ自体は異なるブランチ間で行われますが、なぜブランチ間でマージできないのですか?

    いいねを押す +0
    曾经蜡笔没有小新

    マージが先着順である場合でも、更新をリモート エンドにプッシュせずにローカル開発が完了した場合、どうやってマージを行うことができますか? 少なくともリモート エンドに b が存在する必要があります。そうでない場合は、それを a にマージします。しかし、これは良くありません

    いいねを押す +0
    仅有的幸福

    分岐には分岐点が必要です。分岐点から遠ざかるほど、理論上の矛盾が大きくなり、マージには人間の介入が必要になります。人間の介入なしにはマージできない分岐はありません。

    いいねを押す +0
    迷茫

    質問 1: できる
    質問 2: できる
    質問 3: わからない

    いいねを押す +0
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート