GIT vetvenia stratégie s 2 pobočkami (master, úloha) - ako zabrániť kód straty v majster oz?

0

Otázka

Som čítal o GIT vetvenia stratégia, ktorá zahŕňa master, rozvíjať, hotfix, uvoľnenie, funkcia.

Sme 5 vývojári pracujú na python webovej stránke. Takto je vetvenia stratégie chcem použiť na GitHub.

  1. Výroba kód je v master pobočky.
  2. Som vytvoriť Úlohu, pobočka off master pobočky.
  3. Som pracovať na Úlohe, pobočky, a pred tlačí kód na git som sa prepnúť na master a ťahajte kód, prepínač Úloh a zlúčiť s majstrom. Je to preto, že môj kód je synchronizácia so vzdialenými master
  4. Push kód
  5. Zvýšiť PR od Úlohy pobočky do hlavného pobočky.

Čo sa stane, ak majster má doplnkový kód, ktorý som chýba v mojom Úlohou odboru a zabudol som na spustenie krok 3?

git github
2021-11-23 14:18:56
2

Najlepšiu odpoveď

1

Ak používate GitHub, môžete pridať Pobočky Ochrany Pravidlo, ktoré vyžaduje pobočiek byť up-to-date s master pobočka pred môžu byť zlúčené Vytiahnuť Žiadosti:

GitHub's 'require branches to be up to date before merging' protection rule

Pobočka musí byť až do dnešného dňa s base pobočky pred zlučovanie.

Pozrite si GitHub Pobočky pravidlo Ochrany dokumentácie tu.

2021-11-23 14:34:28

Ďalšie odpoveď sa zdá, že tento bod je automaticky?
variable

Toto je extra bezpečnostná kontrola pre vaše master pobočky. Ak táto vetva sa pravidlo ochrany, je zakázaný, dokumenty hovoria: "Stav kontroly môže zlyhať po zlúčiť svoje pobočky, ak nie sú nezlučiteľné zmeny so základným pobočky."
Adil B

Má to zabrániť zlúčiť, aj keď nie je tam žiadny konflikt (takže žiadna hranica, konflikt), ale kód bol zmenený na iných miestach? Čím nútia vývojárov vytiahnuť najnovšie kódu, a spojiť sa pred nákupom PR?
variable

Áno, to je účel tejto pobočky sa pravidlo ochrany. Na stránke s dokumentáciou k užitočné detaily, príliš.
Adil B

Tam, kde je nastavenie, aby sa zabránilo push zvládnuť bez PR?
variable

Umožniť Restrict who can push to matching branches pobočka pravidlo ochrany a môžete obmedziť priame tlačí na mastervrátane administrátorov úloţiska.
Adil B
1

Nestratíte kód. Ak je váš Task pobočka je tlačený bez toho, aby synchronizované master po prvé, GitHub vám oznámi, či sú k dispozícii nejaké konflikty.

V prípade konfliktov, dostanete túto správu na PR:


enter image description here


Potom môžete vytiahnuť master lokálne, vyriešiť konflikty a vytláčanie zmeny Task.

Ak nie sú konfliktné súbory, môžete zlúčiť bez aktualizácia Task pobočky, dokonca aj vtedy, ak master je pred nami.

2021-11-23 14:30:54

Čo máte na mysli If there are no conflicting files - máte na mysli žiadne konflikty s ohľadom na celý súbor alebo konkrétnych konfliktných línií?
variable

Mám na mysli žiadne konflikty by ste sa vyskytnúť, keď ste zlúčiť lokálne: línie, ktoré git zlučovať sám. Môže to byť celý súbor (zmazaný súbor vs. upraveného súboru) alebo konkrétne linky. Ale ak budete upravovať rovnaký súbor v dvoch rozdielnych častí, tam bude žiadne konflikty
thchp

Existuje nejaký spôsob, ako môžem zabrániť zlúčiť, aj keď nie je tam žiadny konflikt (takže žiadna hranica, konflikt), ale kód bol zmenený na iných miestach?
variable

Môžete vynútiť dopredu zlúčiť na vašom repo stackoverflow.com/questions/60597400/... Ale čo by mieste to, že? Ak chcete chrániť vaše výrobné pobočky, nemali by ste, aby váš tím zlúčiť do nej, s výnimkou tých, ktorí majú právo (zachovanie úlohu vs. napísať úlohu možno?)
thchp

Tým zabrániť zlúčiť som chcel zabrániť PR.
variable

Nemôžete zabrániť PR. Môžete chrániť pobočiek tak, že len stačí zlúčiť PR, a vyžadujú, aby PRs sú aktuálne presadzovaním lineárne história
thchp

Čo o nastavenie uvedené v iných odpoveď?
variable

V iných jazykoch

Táto stránka je v iných jazykoch

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................