كيفية الاحتفاظ بالملف المحلي أو الملف البعيد أثناء الدمج باستخدام Git و سطر الأوامر؟


Answers

يبدو هذا النهج أكثر وضوحًا ، مع تجنب الحاجة إلى تحديد كل ملف على حدة:

# keep remote files
git merge --strategy-option theirs
# keep local files
git merge --strategy-option ours

أو

# keep remote files
git pull -Xtheirs
# keep local files
git pull -Xours

تم نسخها مباشرة من: حل النزاعات دمج Git لصالح التغييرات الخاصة بهم أثناء السحب

Question

أنا أعرف كيفية دمج التعديل باستخدام vimdiff ، ولكن ، على افتراض أنني أعرف فقط أن الملف بأكمله جيد للحفاظ عليه أو للتخلص منه ، كيف أفعل ذلك؟

لا أريد أن أفتح vimdiff لكل واحد منهم ، فأنا أريد تغيير الأمر الذي يقول 'keep local' أو 'keep بعيد'.

مثال: حصلت على دمج مع الملفات التي تم تغييرها نظرًا لأن شخصًا ما فتحها تحت النوافذ ، وتغيير EOL ، ثم ارتكب. عند الدمج ، أريد فقط الاحتفاظ بنسختي الخاصة وتجاهلها.

أنا مهتم أيضًا بالعكس: لقد أفسدت وقتًا كبيرًا وأريد قبول الملف البعيد ، مع تجاهل التغييرات التي أجريتها.




git checkout {branch-name} -- {file-name}

سيستخدم هذا الملف من الفرع المختار.

يعجبني هذا لأن الإكمال التلقائي posh-git يعمل بشكل رائع مع هذا. كما أنه يزيل أي غموض فيما يتعلق بالفرع النائي وأيه محلي. و - لم ينجح لي على أي حال.