git rebase --interactive
আপনি চান আদেশ।
উদাহরণ:
বর্তমান অবস্থাটি হ'ল:
bernt@le3180:~/src/stackoverflow/reordering_of_commits
$ git status
On branch master
nothing to commit, working tree clean
bernt@le3180:~/src/stackoverflow/reordering_of_commits
$ git log --oneline
a6e3c6a (HEAD -> master) Fourth commit
9a24b81 Third commit
7bdfb68 Second commit
186d1e0 First commit
আমি কমিটগুলি 9a24b81
(তৃতীয় প্রতিশ্রুতি) এবং 7bdfb68
(দ্বিতীয় প্রতিশ্রুতি) পুনঃক্রম করতে চাই । এই কাজের জন্য, আমি প্রথম কমিট এটি আগে প্রথম কমিট আমরা পরিবর্তন করতে চান । এটি কমিট 186d1e0
(ফার্স্ট কমিট)।
git rebase --interactive COMMIT-BEFORE-FIRST-COMMIT-WE-WANT-TO-CHANGE
এই ক্ষেত্রে কার্যকর করার আদেশটি হ'ল :
bernt@le3180:~/src/stackoverflow/reordering_of_commits
$ git rebase --interactive 186d1e0
এটি নিম্নলিখিত বিষয়বস্তু সহ ডিফল্ট সম্পাদনায় একটি ফাইল খুলবে:
pick 7bdfb68 Second commit
pick 9a24b81 Third commit
pick a6e3c6a Fourth commit
# Rebase 186d1e0..a6e3c6a onto 186d1e0 (3 commands)
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#
# These lines can be re-ordered; they are executed from top to bottom.
#
# If you remove a line here THAT COMMIT WILL BE LOST.
#
নোট করুন যে ফাইলটিতে কমিটের ক্রমটি গিট লগের জন্য ব্যবহৃত বিপরীত। গিট লগে, সাম্প্রতিক কমিট শীর্ষে রয়েছে। এই ফাইলটিতে, সর্বাধিক সাম্প্রতিক প্রতিশ্রুতি নীচে রয়েছে।
ফাইলটির নীচে মন্তব্যটি ব্যাখ্যা করার সাথে সাথে আমি করতে পারি এমন অনেকগুলি জিনিস রয়েছে যেমন স্কোয়াশিং, ড্রপিং এবং পুনরায় অর্ডারিং কমিট। পুনঃ অর্ডার কমিট করার জন্য, আমি ফাইলটি সম্পাদনা করি যাতে এটি এর মতো দেখায় (নীচের মন্তব্যগুলি প্রদর্শিত হয় না):
pick 9a24b81 Third commit
pick 7bdfb68 Second commit
pick a6e3c6a Fourth commit
pick
প্রতিটি লাইনে মানে হলো "ব্যবহার (অর্থাত অন্তর্ভুক্ত করুন) এই কমিট" এবং যখন আমি সংরক্ষণ রি-বেসের ফলে কমান্ড দিয়ে টেম্প ফাইল এবং এডিটার থেকে প্রস্থান, Git কমান্ডগুলো এবং সংগ্রহস্থল এবং কাজ ডিরেক্টরি আপডেট হবে শুরুতে কমান্ড প্রয়োগ করুন:
$ git rebase --interactive 186d1e0
Successfully rebased and updated refs/heads/master.
bernt@le3180:~/src/stackoverflow/reordering_of_commits
$ git log --oneline
ba48fc9 (HEAD -> master) Fourth commit
119639c Second commit
9716581 Third commit
186d1e0 First commit
পুনর্লিখিত কমিটের ইতিহাসটি নোট করুন।
লিঙ্কগুলি: