Gitflow: فشل إدخال git flow في الريبو المستنسخ.

تم إنشاؤها على ٢٦ أبريل ٢٠١١  ·  29تعليقات  ·  مصدر: nvie/gitflow

قد أكون أفعل هذا بشكل خاطئ ، ولكن إذا حاولت استنساخ الريبو الذي يحتوي فقط على فرع develop ثم حاول بدء ميزة باستخدام git flow feature start foo ، فسيخبرني ذلك بإعادة تهيئة تدفق git . فشل تشغيل git flow init لأن الفرع master غير موجود. يجب أن أقوم بإنشائه يدويًا حتى يعمل.

هذا يبدو خطأ بالنسبة لي. خلف الكواليس ، بالتأكيد ، يجب أن تنشئ git flow الفروع المطلوبة أو أن تتعامل مع عدم وجودها. هل هذا يبدو وكأنه حشرة؟

إليك جلسة نموذجية:

oj<strong i="12">@mint</strong> ~/tmp $ git init test
Initialized empty Git repository in /home/oj/tmp/test/.git/
oj<strong i="13">@mint</strong> ~/tmp $ cd test
oj<strong i="14">@mint</strong> ~/tmp/test $ git flow init
No branches exist yet. Base branches must be created now.
Branch name for production releases: [master] 
Branch name for "next release" development: [develop] 

How to name your supporting branch prefixes?
Feature branches? [feature/] 
Release branches? [release/] 
Hotfix branches? [hotfix/] 
Support branches? [support/] 
Version tag prefix? [] 
oj<strong i="15">@mint</strong> ~/tmp/test $ echo "foo" > test.txt
oj<strong i="16">@mint</strong> ~/tmp/test develop * $ git add test.txt
oj<strong i="17">@mint</strong> ~/tmp/test develop * $ git commit -m "testing"
[develop 9ebdd64] testing
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 test.txt
oj<strong i="18">@mint</strong> ~/tmp/test develop $ cd ..
oj<strong i="19">@mint</strong> ~/tmp $ git clone ./test test2
Cloning into test2...
done.
oj<strong i="20">@mint</strong> ~/tmp $ cd test2
oj<strong i="21">@mint</strong> ~/tmp/test2 develop $ git flow feature start foo
fatal: Not a gitflow-enabled repo yet. Please run "git flow init" first.
oj<strong i="22">@mint</strong> ~/tmp/test2 develop $ git flow init

Which branch should be used for bringing forth production releases?
   - develop
Branch name for production releases: [] master
Local branch 'master' does not exist.
oj<strong i="23">@mint</strong> ~/tmp/test2 develop $ git branch master
oj<strong i="24">@mint</strong> ~/tmp/test2 develop $ git flow init

Which branch should be used for bringing forth production releases?
   - develop
   - master
Branch name for production releases: [master] 

Which branch should be used for integration of the "next release"?
   - develop
Branch name for "next release" development: [develop] 

How to name your supporting branch prefixes?
Feature branches? [feature/] 
Release branches? [release/] 
Hotfix branches? [hotfix/] 
Support branches? [support/] 
Version tag prefix? [] 
oj<strong i="25">@mint</strong> ~/tmp/test2 develop $ git flow feature start foo
Switched to a new branch 'feature/foo'

Summary of actions:
- A new branch 'feature/foo' was created, based on 'develop'
- You are now on branch 'feature/foo'

Now, start committing on your feature. When done, use:

     git flow feature finish foo

oj<strong i="26">@mint</strong> ~/tmp/test2 feature/foo $ 

شكرا!
OJ

التعليق الأكثر فائدة

@ kasterma شكرا لك!

$ git flow init

Which branch should be used for bringing forth production releases?
   - develop
Branch name for production releases: [] 
Local branch '' does not exist.

$ git branch -a
* develop
  remotes/origin/HEAD -> origin/develop
  remotes/origin/develop
  remotes/origin/master

للحصول على الفرع المحلي:

$ git checkout master
$ git checkout develop
$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/develop
  remotes/origin/develop
  remotes/origin/master

الآن قم بتشغيل الأمر git flow كالمعتاد.

$ git flow init

ال 29 كومينتر

أواجه نفس المشكلة بالضبط. لم أقم بإنشاء فرع رئيسي محليًا حتى الآن (حيث يبدو ذلك خطأ بالنسبة لي أيضًا) ، لكنني لم أجد حلاً مختلفًا بعد. سأقوم بالنشر مرة أخرى إذا كان بإمكاني العثور على شيء ما.

حتى الآن ، الحل الوحيد الذي وجدته هو إنشاء الفرع الرئيسي ، حتى لو لم يتم استخدامه. إنه ليس ممتعًا ، لكنه يعمل. نأمل أن يكون هناك حل لها قريبًا!

ألن يكون من الحكمة تتبع الفرع الرئيسي الأولي ، على سبيل المثال
بوابة الخروج -t الأصل / الماجستير

بالتأكيد ... إذا كان هناك واحد! عند إنشاء مشاريع جديدة ، لا أضغط على
فرع رئيسي فارغ ، وبعد دفع التطوير ، لا يوجد سيد في
جيثب سواء.

لذلك لا تزال مشكلة.

تم الإرسال من هاتف Windows الخاص بي (نعم لقد قرأت ذلك بشكل صحيح) من: shuane
تاريخ الإرسال: السبت ، 2 يوليو 2011 6:33
إلى: [email protected]
الموضوع: Re: فشل [gitflow] git flow init في الريبو المستنسخ. (رقم 121)
ألن يكون من الحكمة تتبع الفرع الرئيسي الأولي ، على سبيل المثال
بوابة الخروج -t الأصل / الماجستير

قم بالرد على هذا البريد الإلكتروني مباشرة أو قم بعرضه على GitHub:
https://github.com/nvie/gitflow/issues/121#issuecomment -1486906

+1 نفس المشكلة ...

+1 نفس المشكلة

ما هو السبب الفلسفي وراء عدم الرغبة في دفع الفرع الرئيسي الأولي الفارغ (الذي تم إنشاؤه افتراضيًا) عند إنشاء المستودع لأول مرة؟

إذا لم تقم بدفع الفرع الرئيسي (كما يبدو أن المعلقين هنا لم يفعلوا ذلك عن قصد) ، فلا يمكنك سحبها إلى نسخة. يعد Git-flow صحيحًا في عدم محاولة إنشاء فرع جديد ، في حالة نسيان التحقق من فرع رئيسي موجود مسبقًا ومن ثم حدوث تعارض إذا أنشأ فرعًا جديدًا.

لا يوجد شيء فلسفي حول هذا. يتعلق الأمر بسير العمل. يمكنني دفع فرع رئيسي ، لكن هذا قد لا يمنع الناس من الاستيلاء على فرع التطوير فقط.

قد يكون Git-flow صحيحًا في عدم محاولة إنشاء واحدة جديدة. لكن بدلاً من الفشل ، لماذا لا تسألني؟ "هل تريدني أن أنشئ فرعًا جديدًا أم يجب أن أتتبع مدير التحكم عن بعد من أجلك؟"

أفكار؟

في حالة بعض الأشخاص هنا ، لا يوجد سيد بعيد لأنهم يعتقدون أنه سيكون من الخطأ دفع فرع فارغ. سيكون من المفيد لهم أن يؤدوا

git push --all origin 

لدفع كل من الفروع التطويرية والفرعية الرئيسية لإصلاح هذا الجزء من المشكلة في البداية.

إذا كان هناك سيد عن بعد ، فسيكون من المفيد طرح هذا السؤال في هذه المرحلة ، ولا ينبغي أن يكون من الصعب جدًا على شخص ما تنفيذه. إنه احتياطي بسيط ولن يؤثر على سير عمل أي شخص آخر إذا قام بإنشاء الفرع الرئيسي بأنفسهم.

إليك كيف واجهنا المشكلة. معظم تطويرنا الآن في git repo موجود في فروع مميزة خارج التطوير.

لقد قمت بتعيين "تطوير" كفرع افتراضي للمستودع على جيثب. كنت أرغب في العمل على فرع مميز لآلة جديدة. لقد قمت باستنساخ الريبو ، وفعلت "git flow init" وفشلت.

lorin هذا التعرض للعض من هذا. من المنطقي بالنسبة لي أن يكون لدي git-flow للتعامل مع هذه الحالة ، حتى لو كانت تتطلب موجهًا مزعجًا ، فلا يزال أفضل من عدم العمل على الإطلاق والاعتماد على الأشخاص الذين يكتشفونها بأنفسهم.

قد يكون جزء من هذه المشكلة هو أن git قد تجلب فرعًا واحدًا فقط عند تشغيل git clone ، وإذا قمت بتعيين فرع GitHub الافتراضي ليكون شيئًا آخر غير الرئيسي ، كما أفعل بنفسي أيضًا ، فلن يكون السيد موجودًا مثل مرجع بعيد حتى تقوم بتشغيل git fetch origin (على ما أظن). إذا كان هذا هو الحال بالنسبة للعديد من الأشخاص ، فقد يلزم تمديد الالتزام الذي أضاف التغيير لـ git-flow-init لدعم التحقق من أجهزة التحكم عن بُعد / الأصل / الرئيسي [1] لإضافة مكالمة "git fetch origin" قبل التحقق مما إذا السيد موجود.

[1] https://github.com/nvie/gitflow/commit/baf163e07d579bec3dd0e21d00297832e8848b8b

ثم لن يكون المعلم موجودًا كمرجع بعيد حتى تقوم بتشغيل git fetch origin (على ما أظن).

عملية استنساخ git استنساخ المستودع حرفياً كما هو مذكور في التمهيد progit ، يمكنك فصل سلك الشبكة والقيام بما يلي:

git checkout -b master origin/master

سيقوم git بإنشاء الفرع المحلي المسمى master كنسخة من الأصل / الرئيسي.

ملحوظة:

git checkout master

يكفي كما لو لم يتم العثور على الفرع ولكن هناك فرع تتبع يتم استخدامه.

@ kasterma شكرا لك!

$ git flow init

Which branch should be used for bringing forth production releases?
   - develop
Branch name for production releases: [] 
Local branch '' does not exist.

$ git branch -a
* develop
  remotes/origin/HEAD -> origin/develop
  remotes/origin/develop
  remotes/origin/master

للحصول على الفرع المحلي:

$ git checkout master
$ git checkout develop
$ git branch -a
* develop
  master
  remotes/origin/HEAD -> origin/develop
  remotes/origin/develop
  remotes/origin/master

الآن قم بتشغيل الأمر git flow كالمعتاد.

$ git flow init

git config gitflow.branch.master master لتعيين الفرع الرئيسي بشكل صحيح عندما لا يمكنك "إلغاء" git flow init.

بالمثل هنا ، لدي نفس المشكلة.

+1 نفس المشكلة

+1

فقط ركض في هذا. جارغ! +1

تأكد من تسجيل الخروج للسيد مرة واحدة على الأقل في الريبو المحلي الخاص بك.

سأفعل. شكرا

في 18 تشرين الثاني (نوفمبر) 2016 ، 6:41 مساءً ، كتب "Rob Moore" [email protected] :

تأكد من تسجيل الخروج للسيد مرة واحدة على الأقل في الريبو المحلي الخاص بك.

-
أنت تتلقى هذا لأنك مشترك في هذا الموضوع.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/nvie/gitflow/issues/121#issuecomment -261593726 ، أو كتم الصوت
الخيط
https://github.com/notifications/unsubscribe-auth/AVuyNjaPvHr8jyO9Zmy1bzynI0mhm0F_ks5q_eNRgaJpZM4AD0E_
.

+1 حدث لي أيضًا.

فعل الخطوات التالية لإصلاح المشكلة في الريبو المستنسخ

 git checkout -b master
 git checkout develop
 git flow init

يمكن لعملية My TeamCity CI التفاف بناء داخل _git flow release_ عبر _ant_ scripts ، لكنني تعلمت على طول الطريق أنه كان من الضروري التحقق من كل من master و develop ، ثم تشغيل التهيئة الافتراضية قبل البناء:

git flow init -d

ألن يكون من الحكمة تتبع الفرع الرئيسي الأولي ، على سبيل المثال
بوابة الخروج -t الأصل / الماجستير

يعمل لدي! اشكرك

الحل هو:
-git ckeckout سيد
-git الخروج تطوير
- بوابة تدفق المدخل

@ andres310597 قد يكون هذا هو الحل بالنسبة لك. لم يساعد في الريبو الخاص بي.

➜  mobile_provider git:(develop) git checkout master   
Updating files: 100% (17199/17199), done.
Switched to branch 'master'
Your branch is up to date with 'origin/master'. 
➜  mobile_provider git:(master) ✗ git checkout develop
Updating files: 100% (17199/17199), done.
Switched to branch 'develop'
Your branch is up to date with 'origin/develop'.                                                            /3.1s
➜  mobile_provider git:(develop) git flow init       

Which branch should be used for integration of the "next release"?
   - bug/mstelly/prov/2449-leave-job-crash
   - master
   - poc/realmdb
Branch name for "next release" development: [develop]

ولا يحتوي ملف .gitconfig على أي إشارة إلى أي إعداد للتدفق. لذلك لا أعرف أين يتم تخزين القيم.

حقيقة أن هذه المشكلة ظلت مفتوحة لمدة 9 سنوات توضح الكثير عن فرصنا في حلها في أي وقت قريب. ومع ذلك ، قبلت الإعدادات الافتراضية وتلقيت هذه الرسالة:
To force reinitialization, use: git flow init -f
لذلك ، لم يتم كسرها. أعتقد أنه لم يتم توثيقه جيدًا. ربما يجب على شخص ما إغلاق هذه المشكلة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات