ডিরেক্টরি করার কোনও উপায় git pull
ছাড়াই এবং একটি সম্পাদন না করে কোনও স্থানীয় ফাইল পরিবর্তনকে উপেক্ষা করার কোনও উপায় আছে কি git clone
?
rm -rf local_repo && git clone remote_url
।
ডিরেক্টরি করার কোনও উপায় git pull
ছাড়াই এবং একটি সম্পাদন না করে কোনও স্থানীয় ফাইল পরিবর্তনকে উপেক্ষা করার কোনও উপায় আছে কি git clone
?
rm -rf local_repo && git clone remote_url
।
উত্তর:
যদি আপনি বোঝাতে চান যে আপনি স্থানীয় পরিবর্তনগুলিকে ওভাররাইট করতে চান, যাতে মার্জিং গাছটি পরিষ্কার ছিল, ভাল, কার্যকারী গাছটি পরিষ্কার করুন:
git reset --hard
git pull
যদি সেখানে তালিকার চিহ্নবিহীন স্থানীয় ফাইল থাকে তবে আপনি git clean
সেগুলি সরাতে ব্যবহার করতে পারেন। ব্যবহার করুন git clean -f
untracked ফাইল মুছে ফেলার জন্য, -df
untracked ফাইল ও ডিরেক্টরিগুলি মুছে ফেলার জন্য, এবং -xdf
untracked বা উপেক্ষিত ফাইল বা ডিরেক্টরি মুছে ফেলার জন্য।
অন্যদিকে আপনি যদি স্থানীয় পরিবর্তনগুলি কোনওভাবেই রাখতে চান, আপনি টান দেওয়ার আগে এগুলি লুকিয়ে রাখতে স্ট্যাশ ব্যবহার করবেন, তারপরে এগুলি আবার প্রয়োগ করুন:
git stash
git pull
git stash pop
আমি মনে করি না যে আক্ষরিক অর্থে পরিবর্তনগুলি উপেক্ষা করার জন্য এটি কোনও অর্থবোধ করে, যদিও - অর্ধেক টান মিশে গেছে এবং এটি প্রাপ্ত সংস্করণগুলির সাথে সামগ্রীর প্রতিশ্রুতিবদ্ধ সংস্করণগুলি মার্জ করা দরকার।
git reset
আপনার ফাইলগুলি এখনও রিমোটের থেকে পৃথক হয়, স্ট্যাকওভারফ্লো.com
git reset --hard
পূর্ববর্তীকে প্রভাবিত করে, পরবর্তীকালে নয়। আপনি যদি রিমোটের অবস্থানে পুরোপুরি রিসেট করতে চান, git reset --hard origin/<branch>
- তবে প্রায়শই এবং এই ক্ষেত্রে, আপনি যে উত্সাহের চেয়ে এগিয়ে রয়েছেন সেই দু'টি কমিট আপনার কাজ করা, আপনি ফেলে দিতে চান এমন কিছু নয়।
আমার জন্য নিম্নলিখিত কাজ করেছেন:
(1) প্রথমে সমস্ত পরিবর্তন আনুন:
$ git fetch --all
(২) তারপরে মাস্টারটিকে পুনরায় সেট করুন:
$ git reset --hard origin/master
(3) টানুন / আপডেট করুন:
$ git pull
আপনি কেবল একটি আদেশ চান যা ঠিক একই ফলাফল দেয় rm -rf local_repo && git clone remote_url
? আমি এই বৈশিষ্ট্যটিও চাই আমি ভাবছি কেন গিট এই জাতীয় কমান্ড সরবরাহ করে না (যেমন git reclone
বা git sync
), না এসএনএন এই জাতীয় আদেশ দেয় না (যেমন svn recheckout
বা svn sync
)।
নিম্নলিখিত কমান্ড চেষ্টা করুন:
git reset --hard origin/master
git clean -fxd
git pull
git clean -fxd
ফাইলগুলি থেকেও সরিয়ে দেয় .gitignore
।
কমান্ড বেলো সবসময় কাজ করবে না । আপনি যদি ঠিক করেন:
$ git checkout thebranch
Already on 'thebranch'
Your branch and 'origin/thebranch' have diverged,
and have 23 and 7 different commits each, respectively.
$ git reset --hard
HEAD is now at b05f611 Here the commit message bla, bla
$ git pull
Auto-merging thefile1.c
CONFLICT (content): Merge conflict in thefile1.c
Auto-merging README.md
CONFLICT (content): Merge conflict in README.md
Automatic merge failed; fix conflicts and then commit the result.
এবং তাই ...
করতে সত্যিই , নতুন করে শুরু thebranch ডাউনলোড এবং সব আপনার স্থানীয় পরিবর্তনগুলি মুছে যাওয়ার, শুধু একটি করুন:
$ git checkout thebranch
$ git reset --hard origin/thebranch
এটি ঠিক কাজ করবে।
$ git checkout thebranch
Already on 'thebranch'
Your branch and 'origin/thebranch' have diverged,
and have 23 and 7 different commits each, respectively.
$ git reset --hard origin/thebranch
HEAD is now at 7639058 Here commit message again...
$ git status
# On branch thebranch
nothing to commit (working directory clean)
$ git checkout thebranch
Already on 'thebranch'
আপনার স্থানীয় সমস্ত পরিবর্তনকে একটি "স্ট্যাশ ফাইল" এ রাখার জন্য গিট স্ট্যাশ দেখুন এবং শেষ প্রতিশ্রুতিতে ফিরে যান। এই মুহুর্তে, আপনি আপনার স্ট্যাশড পরিবর্তনগুলি প্রয়োগ করতে পারেন বা এগুলি বাতিল করতে পারেন।
আপনি যদি লিনাক্সে থাকেন:
git fetch
for file in `git diff origin/master..HEAD --name-only`; do rm -f "$file"; done
git pull
For for loop ট্র্যাকড ফাইলগুলিকে মুছে ফেলবে যা স্থানীয় রেপোতে পরিবর্তিত হয়েছে, সুতরাং git pull
কোনও সমস্যা ছাড়াই কাজ করবে।
এটি সম্পর্কে সর্বোত্তম বিষয়টি হ'ল কেবল ট্র্যাক করা ফাইলগুলি রেপোতে থাকা ফাইলগুলি ওভাররাইট করা হবে, অন্য সমস্ত ফাইল অদৃশ্য হয়ে যাবে।
এটি আমার জন্য কাজ করেছে
git fetch --all
git reset --hard origin/master
git pull origin master
গৃহীত উত্তরের সাথে আমি সংঘাতের ত্রুটি পেয়েছি
আমি সাধারণত:
git checkout .
git pull
প্রকল্পের মূল ফোল্ডারে।
এটি বর্তমান শাখাটি নিয়ে আসবে এবং মাস্টারকে দ্রুত এগিয়ে দেওয়ার চেষ্টা করবে:
git fetch && git merge --ff-only origin/master
.gitignore
".Gitignore এ অযাচিত ফাইল যুক্ত করা ততক্ষণ কাজ করে যতক্ষণ আপনি প্রাথমিকভাবে কোনও শাখায় প্রতিশ্রুতিবদ্ধ না হন।"
এছাড়াও আপনি চালাতে পারেন:
git update-index --assume-unchanged filename
https://chamindac.blogspot.com/2017/07/ignoring-visual-studio-2017-created.html