ক্লোন করা এবং মূল দূরবর্তী সংগ্রহস্থলের মধ্যে গিটের পার্থক্য


170

আমি একটি গিথুব সংগ্রহস্থল ক্লোন করেছি এবং স্থানীয়ভাবে কোনও পরিবর্তন করেছি। গিথুব সংগ্রহশালা একই শাখায় কমিট করে এগিয়ে চলেছে।

  1. আমি কীভাবে আমার স্থানীয় সংগ্রহস্থল এবং মূল গিথুব সংগ্রহস্থলের মধ্যে পার্থক্য খুঁজে পাই?
  2. আমি কীভাবে আমার কার্যকরী অনুলিপি এবং মূল গিথুব সংগ্রহস্থলের মধ্যে পার্থক্য খুঁজে পাই?
  3. আমি কীভাবে আমার স্থানীয় সংগ্রহস্থল এবং একই প্রকল্পের অন্য গিথুব সংগ্রহস্থলের মধ্যে পার্থক্য খুঁজে পাব?


1
@ সিরোস্যান্টিলি 新疆 改造 中心 六四 事件 法轮功: আমি মনে করি এটি যথেষ্ট আলাদা: অন্য প্রশ্নটি যে কোনও জেনেরিক রিমোট শাখা সম্পর্কে জিজ্ঞাসা করে, যদিও এটি গিটহাবের প্রসঙ্গে, আরও তিনটি প্রারম্ভিক পয়েন্ট সম্পর্কে জিজ্ঞাসা করে। এগুলি অবশ্যই একই রকম, তাই আপনার লিঙ্কটি অবশ্যই কার্যকর।
jvriesem

উত্তর:


161

1) আপনি তুলনা করতে চান এমন কোনও রিমোট রেপোজিটরি যুক্ত করুন:

git remote add foobar git://github.com/user/foobar.git

2) আপনার রিমোটের স্থানীয় অনুলিপি আপডেট করুন:

git fetch foobar

আনতে আপনার কাজের অনুলিপি পরিবর্তন করবে না।

3) আপনার স্থানীয় সংগ্রহস্থল থেকে যে কোনও ব্রাঙ্ক আপনি যুক্ত করেছেন এমন কোনও রিমোটের সাথে তুলনা করুন:

git diff master foobar/master

ডিফের আগে আমার কি গিট আনতে হবে? আমার ধারণা এটি ছাড়া আলাদা হওয়ার কোনও উপায় নেই।
ওলেগ প্রডনিকভ

এটি আসলে কেবলমাত্র 3 টি প্রশ্নের উত্তর (অন্য গিথুব রেপোর সাথে পৃথক)।
রুসলান কাবালিন

5
অন্য কোনও দূরবর্তী সংগ্রহস্থল থেকে "অরিজিনাল গিথুব সংগ্রহস্থল" কিছুই আলাদা করে না। নাকি আমি কিছু ভুল বুঝছি?
dbyrne

আমি যখন গিট ২.7.৪ দিয়ে চেষ্টা করেছি তখন "গিট ডিফ মাস্টার ফুবার / মাস্টার" পার্থক্য দেখায় না। আমি আমার স্থানীয় কপিটি ("মাস্টার") এর সাথে 1 ম আর্গুমেন্ট ("মাস্টার") হিসাবে দেওয়া রেপোর সাথে তুলনা করে এবং সেখানে কেবল "পথ / ফাইল" "ফুবার / মাস্টার" -এর চেয়ে পৃথক। তবে "ডিফফুবার / মাস্টার" কমান্ডটি আমার জন্য কাজ করেছিল, আমার স্থানীয় মাস্টারকে ফুবার / মাস্টারের সাথে তুলনা করে।
ব্যবহারকারী 2081279

পরিবর্তে fetch(নোট প্রত্যার্পণ 2।) একটি বিকল্প হিসাবে: git remote update- এটি আপডেট হবে সব আপনার শাখা দূরবর্তী বেশী ট্র্যাক করতে সেট, কিন্তু যে কোন পরিবর্তনগুলি মার্জ; বাgit pull
টিমো

49

আপনার প্রশ্নের আরেকটি উত্তর (ধরে নিলেন আপনি মাস্টার হয়ে আছেন এবং রিমোট পরিবর্তন সম্পর্কে রেপোকে সচেতন করতে ইতিমধ্যে "গিট আনতে উত্স" করেছেন):

1) স্থানীয় শাখা তৈরি হওয়ার পর থেকে প্রত্যন্ত শাখায় কমিটগুলি:

git diff HEAD...origin/master

2) আমি "ওয়ার্কিং কপি" দ্বারা ধরে নিয়েছি আপনি কিছু স্থানীয় কমিটগুলি সহ এখনও আপনার স্থানীয় শাখাটি ব্যবহার করছেন যা এখনও রিমোটে নেই। আপনার স্থানীয় শাখায় যা আছে তার পার্থক্যগুলি দেখতে কিন্তু এটি দূরবর্তী শাখায় চালিত নেই:

git diff origin/master...HEAD

3) dbyrne দ্বারা উত্তর দেখুন ।


HEAD..origin/masterসিনট্যাক্সের জন্য আপনাকে ধন্যবাদ ! আমরা মূল / হেড বিদ্যমান না থাকায় ত্রুটি পেয়েছি এবং এটি এটি সমাধান করেছে।
ড্যান বেচার্ড

@ আরসলান: git diff HEAD...origin/masterআমি কোনও রিমোট ডিরেক্টরিকে ক্লোন করে দিলে কী পরিবর্তন করা যায় তার অর্থ কী ?
মোনা জালাল

আমি যখন উইন্ডোজ জিইউআই ব্যবহার করে ক্লোনিং করছিলাম তখন একটি ত্রুটি ঘটেছে তাই আমি ভাবছি যে ক্লোনটি পুরোপুরি পেরিয়ে গেছে কিনা। আমি দেখতে পাচ্ছি যে ফোল্ডারগুলি এখানে আমার ডিরেক্টরিতে রয়েছে তবে আমি এটি নিশ্চিত করতে চাই যে এটি দূরবর্তী হিসাবে একই। তবে গিট শেলের মধ্যে, গিট ডিফারেন্স কিছুই দেয় না। আমার ক্লোনটি সফল হয়েছে নাকি আমি বিভ্রান্ত?
মোনা জালাল

@ মোনাজালাল এর অর্থ হ'ল আপনি ক্লোন করার পরে কোনও প্রবাহের পরিবর্তন নেই up
রুসলান কাবালিন

21

এই উদাহরণটি কাউকে সাহায্য করতে পারে:

নোট " originউপর গিটহাব" কি হল "দূরবর্তী জন্য আমার ওরফে হল"
নোট " mybranch" আমার শাখা "কি স্থানীয় হল" আমি GitHub সঙ্গে সিঙ্ক করছি আমার ওরফে হয়
--your শাখা নাম 'মাস্টার' হলে আপনি তৈরি করেন নি এক. তবে, mybranchশাখার নাম প্যারামিটারটি কোথায় ব্যবহৃত হয়েছে তা দেখাতে আমি আলাদা নাম ব্যবহার করছি ।


গিথুবে আমার দূরবর্তী রেপোগুলি ঠিক কী?

$ git remote -v
origin  https://github.com/flipmcf/Playground.git (fetch)
origin  https://github.com/flipmcf/Playground.git (push)

"একই কোডের অন্যান্য গিথুব সংগ্রহশালা" যুক্ত করুন - আমরা এটিকে একটি কাঁটাচামড়া বলি:

$ git remote add someOtherRepo https://github.com/otherUser/Playground.git

$git remote -v
origin  https://github.com/flipmcf/Playground.git (fetch)
origin  https://github.com/flipmcf/Playground.git (push)
someOtherRepo https://github.com/otherUser/Playground.git (push)
someOtherRepo https://github.com/otherUser/Playground.git (fetch)

আমাদের স্থানীয় রেপো আপ টু ডেট রয়েছে তা নিশ্চিত করুন:

$ git fetch

স্থানীয়ভাবে কিছু স্টাফ পরিবর্তন করুন। ফাইল ./foo/bar.py বলি

$ git status
# On branch mybranch
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#   modified:   foo/bar.py

আমার নিঃশর্ত পরিবর্তনগুলি পর্যালোচনা করুন

$ git diff mybranch
diff --git a/playground/foo/bar.py b/playground/foo/bar.py
index b4fb1be..516323b 100655
--- a/playground/foo/bar.py
+++ b/playground/foo/bar.py
@@ -1,27 +1,29 @@
- This line is wrong
+ This line is fixed now - yea!
+ And I added this line too.

স্থানীয়ভাবে প্রতিশ্রুতিবদ্ধ।

$ git commit foo/bar.py -m"I changed stuff"
[myfork 9f31ff7] I changed stuff
1 files changed, 2 insertions(+), 1 deletions(-)

এখন, আমি আমার দূরবর্তী থেকে পৃথক (গিথুবে)

$ git status
# On branch mybranch
# Your branch is ahead of 'origin/mybranch' by 1 commit.
#
nothing to commit (working directory clean)

রিমোট দিয়ে এটির পার্থক্য - আপনার কাঁটাচামচ: (এটি প্রায়শই সম্পন্ন করা হয় git diff master origin)

$ git diff mybranch origin
diff --git a/playground/foo/bar.py b/playground/foo/bar.py
index 516323b..b4fb1be 100655
--- a/playground/foo/bar.py
+++ b/playground/foo/bar.py
@@ -1,27 +1,29 @@
- This line is wrong
+ This line is fixed now - yea!
+ And I added this line too.

(এগুলি দূরবর্তীতে প্রয়োগ করার জন্য গিট পুশ)

আমার দূরবর্তী শাখা দূরবর্তী মাস্টার শাখার থেকে কীভাবে আলাদা?

$ git diff origin/mybranch origin/master

আমার স্থানীয় জিনিসগুলি দূরবর্তী মাস্টার শাখার থেকে কীভাবে আলাদা?

$ git diff origin/master

আমার স্টাফগুলি অন্য রেখার কাঁটা, একই রেপোর মাস্টার শাখা থেকে কীভাবে আলাদা?

$git diff mybranch someOtherRepo/master

5
আমরা 'গিট ডিফ' করার আগে আমার মনে হয় যে আমাদের স্থানীয় রিমোটের অনুলিপি আপ-টু ডেট আছে তা নিশ্চিত করার জন্য 'গিট ফ্যাচ' করা দরকার।
ডন

1
আমি কীভাবে দূরবর্তী এবং স্থানীয় তুলনা করতে পারি তার জন্য 20 টি পোস্ট আমি নিজেই এটি সন্ধান করেছি: গিট আনার আগে প্রয়োজনীয় is গিটটি সত্যই আরসিএসের অ্যাসেম্বলি কোড। যীশু। নিশ্চিত করার জন্য ধন্যবাদ, ডন!
তেরেঁস পারর

শুধু git fetchএই উত্তরে যুক্ত।
ফ্লিপএমসিএফ

1
হুম ... আমি কীভাবে আমার শাখার নাম হিসাবে 'মাইফোর্ক' ব্যবহার করেছি তা পছন্দ করি না। এটি কাউকে বিভ্রান্ত করতে পারে (আমার মতো, যিনি এই উত্তরটির জন্য ফিরে এসেছিলেন)
FlipMcF

সম্পাদনা - স্পষ্টতা এবং 'কাঁটা পার্থক্য' প্রশ্নের উত্তর # 3
ফ্লিপএমসিএফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.