- , .
- ...?
كان رد الفعل هذا معي تقريبًا بعد تلقي أول تجمع طلبات استثمار في الأسبوع الأول من العمل في شركة واحدة كبيرة. سبب رد الفعل هذا بسيط للغاية - لا يمكن لكل عميل / صاحب عمل تحمل مثل هذه الرفاهية كفريق كبير على منصة واحدة ، وخاصة تطوير الأجهزة المحمولة. نظرًا لعدم الجدوى وإمكانية الاتصال السريع في عالمك ، لا تكتسب كل الأشياء التي يستخدمها المعلمون الكبار في مجالهم أهمية في فرق صغيرة. ببساطة - لماذا أحتاجها بحق الجحيم إذا كنا قد عشنا جيدًا وتعاملنا بشكل جيد بدونها؟
بعد الانتقال إلى شركة جديدة ، واجهت نفس المشكلة ، ولكن على الجانب الآخر من المتاريس. إذا لم تكن قد اكتشفت ما الذي سيتم مناقشته بشكل أكبر ، فهذا هو GIT ، بشكل أكثر دقة ، أدواته المدمجة في AndroidStudio وكيف يجعل عملنا أسهل.
سأحاول تجاهل الأشياء الشائعة: init VCS؛ جديد / إعادة تسمية / دفع فرع ؛ rebase / دمج في الفرع ؛ إعداد أجهزة التحكم عن بعد وما إلى ذلك ، سأحاول لفت الانتباه إلى تلك العناصر التي ، خوفًا من جهلي ، تجنبتها لفترة طويلة (ونأسف).
تعديل الالتزام
في حالة ما إذا قررت استكمال التغييرات التي أجريتها على آخر التزام ، يجب عليك استخدام الأمر التالي:
//
git commit --ammend
//
git commit --ammend "New commit message"
ويمكنك تسريع العملية:

تحرير رسالة الالتزام
, PR , , , :

Interactive rebase
. , N . , / .
, , … , .
, .
//
git cherry master -v
//
git cherry master | wc -l
GUI:

tools:

, :

e :

:

:

:
# Commands:
# p, pick = ( )
# r, reword = ,
# e, edit = , amend-( )
# s, squash =
# f, fixup = , ( )
, . ? , .

Force push .
Multiple remotes
, , , .

? 2 (, ), / :

Git blame
:

. , IssueNavigationLink
:
//
<PROJECT_ID>-<TASK-ID>: <COMMIT MESSAGE>
( , git-hooks — https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks)
project/.idea/vcs.xml
:

:
<IssueNavigationLink>
<option name="issueRegexp" value="([A-Za-z]+\-)(\d+)" />
<option name="linkRegexp" value="https://github.com/IlyaPavlovskii/Android-Environments/issues/$2" />
</IssueNavigationLink>
ID.

Git cherry-pick
cherry!
, /, , . , , - , . , … , 1 ( ). ?


:

في الختام ، أود أن أذكر على الفور holivar الأبدي حول هذا الموضوع: محرر المحطة الطرفية أو واجهة المستخدم الرسومية للعمل مع VCS؟ إنها مسألة ذوق. من الواضح أن CLI GIT هي أداة أكثر قوة لمهام محددة بدونها. ولكن بالنسبة للمهام اليومية ، فإن حزمة الأدوات المدمجة للعمل مع أنظمة التحكم في الإصدار في AS هي أمر لا بد منه وستقلل وقت التطوير عدة مرات.
آمل أن تكون قد وجدت شيئًا جديدًا في هذه المقالة وساعدت في تسهيل روتين عملك.