أنا مطور ألعاب وتطبيقات جوال. لقد كتبت قدرًا كبيرًا من التعليمات البرمجية في C ++ و Swift. ومثل العديد منكم ، أستخدم أنظمة التحكم في الإصدار ، على وجه الخصوص ، gith.
يحتوي Git على واجهة سطر الأوامر الأكثر فاعلية وعشرات إن لم يكن المئات من التطبيقات للعمل معها محليًا باستخدام واجهة رسومية ، والتي تكون قادرة على أداء جزء فقط من وظائف git. تكمن المشكلة في أنني أكتب رمزًا منذ 10 سنوات حتى الآن ، لكنني لم أجد عميل git GUI المثالي (المناسب لي). مثال: ظهر Github Desktop مؤخرًا. لقد استخدمته حتى احتجت إلى الخروج من أجل التزام معين. وعانيت من الألم المعتاد أن هذا التطبيق لا يعرف كيفية القيام بذلك. ومرة أخرى عدت إلى المحطة (مع الإكمال التلقائي للبوابة). وهناك مثل هذه الأشياء في كل تطبيق واجهة المستخدم الرسومية لـ gita. لكني لم أحضر إلى هنا لانتقادهم. أنا متأكد من أن لديكم وبدوني الكثير من الشكاوى حول هذه الطلبات. فكرت لفترة طويلة في ما يجب أن يكون عليه تطبيق git GUI المثالي. لقد كانت قصاصات عابرة من الرغبةمن الصعب تجميع شيء كامل منه. وفي الآونة الأخيرة ، تجمعت قصاصات الأفكار هذه في صورة واحدة. أدناه سوف أصف هذا بتنسيق TOR (مهمة فنية) في الشكل الأكثر قابلية للفهم.
عميل Git GUI المثالي
من المهم ألا تكون الواجهة معقدة للغاية. إذا فتح المستخدم التطبيق وشاهد أكثر من 20 زرًا ، فإن الفكرة سيئة. يقوم معظم المستخدمين ، الذين ينتقلون إلى وحدة التحكم للعمل مع git ، بكتابة أمر git statusلمعرفة قائمة الملفات ذات الحالة المتغيرة. لذلك ، يجب أن يعرض تطبيقنا على الشاشة بأكملها تقريبًا قائمة من الملفات في شكل تسلسل هرمي لها حالة متغيرة (مثل مستكشف / مكتشف الملفات) سيتضمن كل ما يمكننا رؤيته بالأمرgit status: ملفات معدلة ، ملفات لم يتم تعقبها ، تمت إضافتها وإزالتها (ربما نسيت بعض الحالات). يجب أن يتم عرض كل ملف ، كما هو الحال في وحدة التحكم ، إما باللون الأحمر أو الأخضر ، مما يشير إلى أنه قد تمت إضافته إلى الالتزام. يمكنك النقر بزر الماوس الأيمن فوق أي ملف أو النقر فوق النقاط الثلاث على الجانب الأيمن من السطر لإظهار قائمة السياق. في قائمة السياق ، يمكنك إضافة ملف إذا لم تتم إضافته ( git addالأمر في المحطة) ، وإعادة الضبط إذا تمت إضافته ، والحذف إذا لم يكن في الفهرس (نظيف). يمكنك أيضًا النقر بزر الماوس الأيمن فوق المجلد وإضافة المجلد بأكمله ( git add folder). تعمل إعادة التعيين بنفس الطريقة. يمكنك أيضًا إضافة كل شيء إلى الفهرس باستخدام زر صغير في الزاوية اليسرى العليا من شجرة الملفات. يمكنك النقر فوق السطر الذي يحتوي على الملف لفتح الفرق عليه في وضع ملء الشاشة.
Xcode , (pulling, pushing, idle). . , - : .
- (git log - , git branch - , git commit - , git push - remote, git pull - remote, git remote - remote ..) tab ( GTA 5).
. (, pull, push, fetch). , (, push) ( remote , force), . tab . esc, . push, . .
git GUI && ||. , , :
git checkout dev && git pull && git checkout - && git merge -
4 :
dev
dev
, dev
dev
&& , - , . , git GUI , ( , ). git GUI .
, , , tab alt ( shift, ). , checkout, dev, ok , . - , tab alt, checkout ok, , , (tab - alt). - . tab ( esc ), , , . , Red Alert 2. z . , , .
, , (, ) . . ,
3a962a4a5979b338e4bfce1333b3009529c0ad08
d8def5c1b13a83a1df8797fab3d34760596df692
cffcf32979526f2e2d26c06fe0b73666a7ca0e87
2757ed191106b51b729c5437334d9d19b0d081b8
0fef00c89e8d60e41a452ffc31a8300b551116be
5e4fe2033549b89ef86834e2fcba350fa5099443
886602d02ec39f853c9b708957f27c3fbb51e66c
250ce1cd7b0b6ec415898e0a26cda49a2d326bd3
4a4a5e0f6257bb6c179981c4fb69011be7bbe53d
. . - . .
↕️ 3a962a4a5979b338e4bfce1333b3009529c0ad08
☘ d8def5c1b13a83a1df8797fab3d34760596df692
◽️ cffcf32979526f2e2d26c06fe0b73666a7ca0e87
⛎ 2757ed191106b51b729c5437334d9d19b0d081b8
㊙️ 0fef00c89e8d60e41a452ffc31a8300b551116be
5️⃣ 5e4fe2033549b89ef86834e2fcba350fa5099443
⏹ 886602d02ec39f853c9b708957f27c3fbb51e66c
⏸ 250ce1cd7b0b6ec415898e0a26cda49a2d326bd3
↖️ 4a4a5e0f6257bb6c179981c4fb69011be7bbe53d
, . , ( pull’), , , , . - : github, bitbucket, teamcity. .
كل شئ. سأكون سعيدًا بأي انتقادات واقتراحات في التعليقات. سأجيب على السؤال عن سبب مشاركة الفكرة هنا ، لكنني لن أبدأ في تنفيذها بنفسي. أنا نفسي منخرط في تطوير اللعبة ، في الوقت الحالي أعمل في Playtika ، وفي وقت فراغي أقوم بتطوير تطبيق للعمل مع SQLite https://sqliteman.dev . يسعدني أن أبدأ في تطوير عميل git GUI هذا ، لكن ليس لدي وقت. سأكون سعيدًا جدًا إذا قام شخص آخر بذلك ، بينما لا أمانع إذا قام أحد بذلك دون ذكر مصدر الفكرة. أنا متأكد من أن الفكرة لا تساوي أي شيء مقابل التنفيذ. وسأكون سعيدًا جدًا إذا كان لدي تطبيق git GUI الخاص بأحلامي.