এসএসএইচ দিয়ে Eclipse সহ একটি প্রত্যন্ত প্রকল্পে কাজ করুন


192

আমার কাছে নিম্নলিখিত বাক্সগুলি রয়েছে:

  1. Eclipse CDT সহ একটি উইন্ডোজ বাক্স,
  2. একটি লিনাক্স বাক্স, কেবল এসএসএইচের মাধ্যমে আমার জন্য অ্যাক্সেসযোগ্য।

আমার প্রকল্পটি তৈরি এবং পরিচালনা করতে প্রয়োজনীয় সংকলক এবং হার্ডওয়্যার উভয়ই কেবল মেশিন বিতে is

আমি এই প্রকল্পের উইন্ডোজ বাক্স থেকে এক্লিপস সিডিটি ব্যবহার করে "স্বচ্ছভাবে" কাজ করতে চাই এবং আইডিই থেকে দূরবর্তীভাবে প্রকল্পটি নির্মাণ, পরিচালনা এবং ডিবাগ করতে সক্ষম হব।

আমি কীভাবে এটি সেট আপ করব:

  • বিল্ডিং কি কাজ করবে? স্থানীয় মেকফিল লেখার চেয়ে সহজ সমাধান যা rsyncপ্রকল্প এবং তারপরে রিমোট মেকফিলটিকে প্রকৃত বিল্ড শুরু করার জন্য কল করবে? Eclipse পরিচালিত বিল্ড এর জন্য কি কোনও বৈশিষ্ট্য রয়েছে?
  • ডিবাগিং কাজ করবে?
  • অগ্রাধিকার - Eclipse CDT কোড সূচক কাজ করবে? আমাকে কী মেশিন বি থেকে মেশিন এ-তে সমস্ত প্রয়োজনীয় হেডার ফাইলগুলি অনুলিপি করতে হবে এবং ম্যানুয়ালি পথ অন্তর্ভুক্ত করতে সেগুলি যুক্ত করতে হবে?

4
কোস, আপনি আরএসই ব্যবহার করে শেষ করেছেন? আপনার অভিজ্ঞতা কেমন ছিল?
আলেকসান্দ্র লেভুকুক

2
আমি এটি করতে পেরেছি, তবে: ক) ভার্চুয়াল ফাইল সিস্টেম সম্পর্কে সচেতন হতে সিডিটির কিছু সমস্যা ছিল (এএফআইএইচি এটি একটি অস্থায়ী সমস্যা এবং যখন তারা নতুন কিছু এপিআইতে কিছু জিনিস পুনর্লিখন করবে; তখন তারা অদৃশ্য হয়ে যাবে; সম্ভবত তারা ইতিমধ্যে করেছিল? IDK) এবং খ) আমাকে নিজের সংকলন শৃঙ্খলা রক্ষা করতে হয়েছিল (একটি কাস্টম মেকফিলের মাধ্যমে) এবং গ) একটি অপ্রীতিকর বিরক্তি- ফাইল সেভ 2 ~ 3 সেকেন্ডের মতো লেগেছিল এবং এটি বিরক্তিকর ছিল।
কোস

1
আমার যদি আজ আবার রিমোট থেকে কাজ করা দরকার হয় তবে আমি আরএসইয়ের সাথে সম্ভবত আরও একটি স্পিন নেব, তবে আমি এটি স্থানীয় প্রকল্প হিসাবে রাখা এবং কাস্টম বিল্ড সিস্টেমটি রোল আপ rsyncকরা আরও সম্ভাবনাময় বলে মনে করি যেমন যেমন আমি যেমন করেছি উল্লিখিত.
কোস

2
এবং দুর্ভাগ্যক্রমে- আমি দূরবর্তী লাইব্রেরির শিরোনামগুলির দূরবর্তী ডিবাগিং বা সূচীকরণ সেট আপ করতে পারি নি। আমি সন্দেহ করি যে পরবর্তীকালে এমনকি এটিও করা যেতে পারে। পূর্ববর্তী - আমি এটি করতে পারি ইতিবাচক তবে এটি খনন করার আমার আসলে দরকার ছিল না।
কোস

আমি প্রথমে লগইন সার্ভারে লগ ইন করে এবং সেখান থেকে আমার দূরবর্তী মেশিনে লগিন করে আমার দূরবর্তী মেশিনটি অ্যাক্সেস করি। দুজনেরই আলাদা পাসওয়ার্ড রয়েছে। Eclipse এ কি এমন কোনও রিমোট মেশিনে কাজ করার কোনও উপায় আছে?
অর্জুন জে রাও

উত্তর:


218

ব্যবহার করে দেখুন রিমোট সিস্টেম এক্সপ্লোরার (RSE)। আপনি যা চান ঠিক তা করতে এটি প্লাগইনগুলির একটি সেট।

আরএসই ইতিমধ্যে আপনার বর্তমান গ্রহপ ইনস্টলেশনতে অন্তর্ভুক্ত থাকতে পারে। Eclipse Indigo চেক করতে উইন্ডোতে যান > দৃষ্টিকোণটি খুলুন > অন্যান্য ... এবং মুক্ত দৃষ্টিকোণ থেকে দূরবর্তী সিস্টেম এক্সপ্লোরার চয়ন করুন আরএসই দৃষ্টিভঙ্গি খোলার জন্য ডায়ালগ ।

Eclipse এ আরএসই দৃষ্টিকোণ থেকে একটি এসএসএইচ দূরবর্তী প্রকল্প তৈরি করতে:

  1. একটি নতুন সংযোগ সংজ্ঞা দিন এবং নতুন সংযোগের কথোপকথনে কেবলমাত্র রিমোট সিস্টেম টাইপ নির্বাচন করুন স্ক্রীন থেকে এসএসএইচ চয়ন করুন।
  2. সংযোগের তথ্য প্রবেশ করুন এবং তারপরে সমাপ্তি নির্বাচন করুন।
  3. নতুন হোস্টের সাথে সংযুক্ত হন। (ধরে নিই এসএসএইচ কীগুলি ইতিমধ্যে সেটআপ রয়েছে))
  4. একবার সংযুক্ত হয়ে গেলে হোস্টের সপ্তফ ফাইলগুলিতে ড্রিল করুন , একটি ফোল্ডার চয়ন করুন এবং আইটেমের প্রসঙ্গ মেনু থেকে রিমোট প্রজেক্ট তৈরি করুন নির্বাচন করুন । (দূরবর্তী প্রকল্পটি তৈরি হওয়ার সাথে সাথে অপেক্ষা করুন))

যদি সঠিকভাবে সম্পন্ন করা হয় তবে এখন একটি নতুন রিমোট প্রজেক্ট থাকা উচিত যা প্রকল্প এক্সপ্লোরার থেকে এবং গ্রহণের মধ্যে অন্যান্য দৃষ্টিকোণ থেকে পাওয়া যায় ible এসএসএইচ সংযোগ স্থাপনের মাধ্যমে সঠিকভাবে পাসওয়ার্ডগুলি সাধারণ এসএসএইচ প্রমাণীকরণ প্রক্রিয়ার একটি alচ্ছিক অংশ করা যেতে পারে। এসএসএইচ দিয়ে Elpipse সহ একটি প্রত্যন্ত প্রকল্প তৈরি করা হয়েছে।


2
আরএসই এখনও জটিল। আরএসইর কাছ থেকে সেরা ধারণাটি হল একটি এসএসএইচ সংযোগের মাধ্যমে গ্রহন করার জন্য সমস্ত কিছু করা, কিন্তু সেই বৈশিষ্ট্যটি এখনও কাজ করছে না। কাজের বৈশিষ্ট্যে কিছু সার্ভার জড়িত যা আপনাকে লিনাক্স বাক্সে সেটআপ করতে হবে।
Ioan

2
এছাড়াও আরএসই ছেলেরা বাগ / বর্ধনের রিপোর্ট পেতে পছন্দ করে।
অ্যারন দিগুল্লা

2
@ অ্যারন - আমি একটি মেকফিল থেকে এর আগে আরএসসিএনসি সলিউশনটি চেষ্টা করেছি - যা মূলত আপনার মূল ক্রমটি একটি Ctrl + B এর সাথে প্রতিস্থাপন করবে। সমস্যাটি হ'ল এই পদ্ধতির সাহায্যে আমি গ্রহনটি থেকে চালাতে বা ডিবাগ করতে পারি না। আরএসই প্রকৃতপক্ষে কাজ থেকে ভাল সরঞ্জামের মতো মনে হচ্ছে; @ আইওন, আপনি কী কাজ করছেন না তা বিশদ দিয়ে বলতে পারেন? আরএসই উইকিটি এসএসএইচ ফাইল সিস্টেম এবং রিমোট ডিবাগিংকে বর্তমান বৈশিষ্ট্য হিসাবে তালিকাবদ্ধ করবে বলে মনে হচ্ছে ... অথবা আমি এই সোমবারে চেষ্টা করব।
কোস

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

1
সি / সি ++ ইনডেক্সিং আরএসইয়ের সাথে সঠিকভাবে কাজ করছে না। সূচক হারিয়ে যাওয়া প্রতীক সম্পর্কে অভিযোগ করে। প্রকল্প এবং উত্স ফাইলগুলি স্থানীয়ভাবে সংরক্ষণ করা হয় তবে আরএসই দিয়ে এটি কার্যকর হয় না It কোন ধারনা?
কালো_জিরো

12

সবচেয়ে সহজ উপায় হ'ল লিনাক্স বাক্সে এলিপিস সিডিটি চালানো এবং এক্স 11-ফরোয়ার্ডিং বা দূরবর্তী ডেস্কটপ সফ্টওয়্যার যেমন ভিএনসি ব্যবহার করা।

এটি অবশ্যই সম্ভব যখন আপনি যখন Eclipse লিনাক্স বাক্সে উপস্থিত থাকেন এবং বক্সে আপনার নেটওয়ার্ক সংযোগ যথেষ্ট দ্রুত হয়।

সুবিধাটি হ'ল, সমস্ত কিছু স্থানীয় হওয়ার কারণে আপনার কাছে সিঙ্ক্রোনাইজেশন সমস্যা নেই এবং আপনি কোনও বিশ্রী ক্রস প্ল্যাটফর্ম সমস্যা পাবেন না।

আপনার যদি বাক্সে কোনও গ্রহন নেই, আপনি এসএমবি (বা এসএসএইচএফএস) এর মাধ্যমে আপনার লিনাক্স ওয়ার্কিং ডিরেক্টরিটি ভাগ করে নেওয়ার এবং আপনার উইন্ডোজ মেশিন থেকে এটি অ্যাক্সেস করার কথা ভাবতে পারেন, তবে এটির জন্য বেশ কয়েকটি সেটআপ লাগবে।

দু'টি অনুলিপি থাকার চেয়ে দুটিই ভাল হবে, বিশেষত যখন এটি ক্রস প্ল্যাটফর্ম।


1
আমি ভয় করি লিনাক্স বাক্সে এক্স 11ও নেই। :)
কোস

2
@ কোস, আপনি যেখানে শারীরিকভাবে বসেছেন সেখানে চালনার জন্য আপনাকে এক্স 11-সার্ভারের প্রয়োজন - ভার্চুয়াল মেশিনের লিনাক্স, বা উইন্ডোজের জন্য এক্স 11 সার্ভার - এবং লিনাক্স সার্ভারে চালনার জন্য এক্স্লিপস। ssh কেবলমাত্র নেটওয়ার্কের ডেটা টানেল করার অনুমতি দেয় - অভিজ্ঞতাকে সহায়তা করতে আপনি সংক্ষেপণ + "-সি ব্লোফিশ" পাবেন।
থরবজর্ন রাভন অ্যান্ডারসন

কেবল স্পষ্ট করে বলার জন্য - আপনি কি দূরবর্তী মেশিনে "হেডলেস অ্যাক্লিপস" নামে পরিচিত? (ভাল, তবে এটিতে জাভাও রয়েছে :))। আমি হালকা ক্লায়েন্ট-সাইড সলিউশন খুঁজছিলাম, তবে রিমোট মেশিনে কিছু সেটআপ করাও একটি বিকল্প হতে পারে।
কোস

7
@ কোস: নং এক্স 11 এটির মতো কাজ করে: আপনার একটি ক্লায়েন্ট এবং একটি সার্ভার রয়েছে। সার্ভারটি যেখানে মনিটর সংযুক্ত থাকে। এটি সমস্ত রেন্ডারিং এবং প্রদর্শন করে। ক্লায়েন্ট (এই ক্ষেত্রে গ্রহণ) কেবল সার্ভারে রেন্ডারিং কমান্ড প্রেরণ করে। সুতরাং আপনাকে অবশ্যই উইন্ডোজে এক্স 11 ইনস্টল করতে হবে এবং আপনার লিনাক্স বাক্সে এক্সলিপ চালানো উচিত। লিনাক্সে আপনার যা যা করা দরকার তা DISPLAYভেরিয়েবল সেট করা হয়েছে যাতে Eclipse জানে যে সার্ভারটি কোথায়।
অ্যারোন দিগুল্লা

5
যদিও নেটওয়ার্কটি দ্রুত হওয়া দরকার, এবং আপনার সার্ভারটিও রয়েছে, এবং বা Eclipse সত্যিই ধীর গতিতে চলবে।
mattalxndr

6

আমি নিজেই (বা ছিল) একই স্থানে আছি, এফডাব্লুআইডাব্লু আমি লিনাক্স হোস্টের সাম্বা শেয়ারটি পরীক্ষা করে শেষ করেছি এবং নোটপ্যাড ++ দিয়ে স্থানীয়ভাবে উইন্ডোজ মেশিনে ভাগ করে নেওয়া সম্পাদনা করেছি, তারপরে আমি পটিটিইয়ের মাধ্যমে লিনাক্স বাক্সে সংকলন করেছি। (আমাদের লিনাক্স হোস্টে সম্পাদকদের দশ y / o সংস্করণ আপডেট করার অনুমতি দেওয়া হয়নি এবং এতে জাভা নেই, তাই আমি এক্স 11 ফরোয়ার্ডিং ছেড়ে দিয়েছি)

এখন ... আমি আমার উইন্ডোজ হোস্টের একটি ভিএম-তে আধুনিক লিনাক্স চালাই, ভিএম-তে আমার সমস্ত সরঞ্জাম (যেমন সিডিটি) যুক্ত করুন এবং তারপরে আমি আরআরটি-র সাথে সাদৃশ্যপূর্ণ একটি ক্রুট কারাগারে চেকআউট করব।

এটি একটি জটিল সমস্যা তবে আমি ভেবেছিলাম এটি মিশ্রণে ফেলে দেব।


3

আমার সমাধান sshfs ব্যবহার ব্যতীত এসএমএবিএর মতো। আমার রিমোট সার্ভারটি এসএসএফএস দিয়ে মাউন্ট করুন, আমার মেকফিল প্রকল্পটি রিমোট মেশিনে খুলুন। ওখান থেকে যাও।

দেখে মনে হচ্ছে আমি এইভাবে পার্শ্বত্যাগ করার জন্য একটি জিইউআই ফ্রন্ট্যান্ড চালাতে পারি।

আমার রিমোট কোড তৈরি করা যেমন সহজ: এসএসএস ঠিকানা রিমোট_মেক_কম্যান্ড

আমি যদিও ডিবাগ করার জন্য একটি শালীন উপায় খুঁজছি। সম্ভবত gdbserver মাধ্যমে?


2

আমার 2 বছর আগেও একই সমস্যা ছিল এবং আমি এটি নিম্নলিখিত উপায়ে সমাধান করেছি:

1) আমি আমার প্রকল্পগুলি মেকফাইলগুলির সাহায্যে তৈরি করি, গ্রহণ দ্বারা পরিচালিত হয় না 2) আমি একটি গ্রাহকের অভ্যন্তরে ফাইলগুলি সম্পাদনা করতে একটি সাম্বা সংযোগ ব্যবহার করি 3) প্রকল্পটি বিল্ডিং: গ্রহটি একটি "স্থানীয়" মেকফাইল দিয়ে একটি মেক কল কল করে যা লিনাক্সের সাথে এসএসএইচ সংযোগ খোলে ens হোস্ট করুন। এসএসএইচ কমান্ড লাইনে আপনি প্যারামিটারগুলি দিতে পারেন যা লিনাক্স হোস্টে চালিত হয়। আমি সেই পরামিতিটির জন্য একটি Makeit.sh শেল স্ক্রিপ্ট ব্যবহার করি যা লিনাক্স হোস্টে "রিয়েল" মেক বলে। আপনি বিল্ডিংয়ের জন্য বিভিন্ন টার্গেটগুলি স্থানীয় মেকফিল -> Makeit.sh -> লিনাক্স হোস্টের মেকফিলের পরামিতিগুলি দিয়েও দিতে পারেন।


দুর্দান্ত, তবে "স্বচ্ছ" বলা যায় না - খুব কম সময়েই ডিবাগিংয়ের অনুমতি দেয় না। এছাড়াও সাম্বার পরিবর্তে আর সিঙ্কের উপর ভিত্তি করে তৈরি করা যেতে পারে (আমি আমার আসল প্রশ্ন পোস্ট করার আগে যা ছিল তা ছিল)।
Kos

2

আমি চেষ্টা করেছি ssh -Xকিন্তু এটি অসহনীয়ভাবে ধীর ছিল।

আমি আরএসইতেও চেষ্টা করেছিলাম, তবে এটি একটি মেকফিল দিয়ে প্রকল্পটি নির্মাণে সমর্থনও করে নি ( আমাকে বলা হচ্ছে যে আমার উত্তর পোস্ট করার পরে এটি পরিবর্তন হয়েছে , তবে আমি এটি চেষ্টা করে দেখিনি)

আমি পড়েছি যে এনএক্স এক্স 11 ফরোয়ার্ডিংয়ের চেয়ে দ্রুত, তবে আমি এটি কাজ করতে পারিনি।

অবশেষে, আমি জানতে পেরেছিলাম যে আমার সার্ভারটি X2Go সমর্থন করে (লিঙ্কটি যদি আপনার না দেয় তবে ইনস্টল করার নির্দেশাবলী রয়েছে)। এখন আমার কেবল ছিল:

  • সার্ভারে Eclipse ডাউনলোড এবং আনপ্যাক করুন,
  • আমার স্থানীয় মেশিনে ( sudo apt-get install x2goclientউবুন্টুতে) এক্স 2Go ইনস্টল করুন ,
  • সংযোগটি কনফিগার করুন (হোস্ট, ssh কী দিয়ে স্বতঃ-লগইন, Eclipse চালানোর জন্য চয়ন করুন)।

সবকিছু ঠিক যেমন আমি বিল্ডিং, ডিবাগিং এবং কোড ইনডেক্সিং সহ একটি স্থানীয় মেশিনে কাজ করছিলাম। এবং কোন লক্ষণীয় ল্যাগ নেই।


0

এই ক্ষেত্রে আপনি উত্স ব্রাউজিং এবং বিল্ডিংয়ের জন্য পিটিপি গ্রহন https://eclipse.org/ptp/ ব্যবহার করতে পারেন ।

আপনার অ্যাপ্লিকেশনটি ডিবাগ করতে আপনি এই প্লাগিংটি ব্যবহার করতে পারেন

http://marketplace.eclipse.org/content/direct-remote-c-debugging


0

এই উত্তরটি কেবলমাত্র দুটি লিনাক্স কম্পিউটার ব্যবহার করার ক্ষেত্রে প্রযোজ্য [বা সম্ভবত ম্যাকের উপরও কাজ করে? - ম্যাকের উপরে অপ্রচলিত] (একের সাথে অন্যের সাথে সিঙ্ক করা) কারণ আমি এই সিঙ্ক্রোনাইজেশন স্ক্রিপ্টটি ব্যাশে লিখেছি। এটি কেবল চারপাশের একটি মোড়ক git, তবে এটি নিখরচায় মনে করুন এবং এটিকে ক্রস-প্ল্যাটফর্ম পাইথন সলিউশন বা কোনও কিছুতে রূপান্তর করতে চান যদি আপনি চান


এটি সরাসরি ওপি-র প্রশ্নের উত্তর দেয় না, তবে আমি এটির কাছাকাছি গ্যারান্টি দিচ্ছি যে এটি এই পৃষ্ঠায় আরও অনেক লোকের প্রশ্নের উত্তর দেবে (আমার অন্তর্ভুক্ত রয়েছে, আসলে আমি নিজের সমাধান লেখার আগে এখানে প্রথম এসেছি ), তাই আমি এটি যেভাবেই হোক এখানে পোস্ট করছি।

আমি চাই:

  1. হালকা ওজন লিনাক্স কম্পিউটারে Eclipse এর মতো শক্তিশালী IDE ব্যবহার করে কোড বিকাশ করুন
  2. একটি ভিন্ন, আরও শক্তিশালী লিনাক্স কম্পিউটারে এসএসএসের মাধ্যমে কোডটি তৈরি করুন (কমান্ড-লাইন থেকে, গ্রহের অভ্যন্তরের নয়)

আসুন আমি যেখানে প্রথম কম্পিউটারটি লিখি যেখানে আমি "PC1" কোড লিখি (ব্যক্তিগত কম্পিউটার 1), এবং দ্বিতীয় কম্পিউটার যেখানে আমি "PC2" কোডটি তৈরি করি। আমার পিসি 1 থেকে পিসি 2 তে সহজেই সিঙ্ক্রোনাইজ করার জন্য একটি সরঞ্জাম প্রয়োজন। আমি চেষ্টা করেছি rsync, তবে এটি বড় রেপোর জন্য অত্যন্ত ধীর ছিল এবং প্রচুর পরিমাণে ব্যান্ডউইথ এবং ডেটা নিয়েছিল।

তো, আমি কীভাবে এটি করব? আমার কোন ওয়ার্কফ্লো ব্যবহার করা উচিত? আপনার যদি এই প্রশ্নটিও থাকে তবে আমি যে ওয়ার্কফ্লোটি নিয়ে সিদ্ধান্ত নিয়েছি তা এখানে। আমি gitগিথুবের মতো একটি রিমোট রিপোজিটরির মাধ্যমে পিসি 1 থেকে পিসি 2 তে স্বয়ংক্রিয়ভাবে পরিবর্তনগুলি ব্যবহার করে প্রক্রিয়াটি স্বয়ংক্রিয় করতে বাশ স্ক্রিপ্ট লিখেছিলাম । এখনও অবধি এটি খুব ভালভাবে কাজ করে এবং আমি এতে সন্তুষ্ট। এটি rsyncআমার মতে আরও বেশি নির্ভরযোগ্য, কারণ প্রতিটি পিসি একটি কার্যকরী গিট রেপো বজায় রাখে এবং পুরো সিঙ্কটি করতে অনেক কম ব্যান্ডউইথ ব্যবহার করে, তাই আপনার টনগুলির ডেটা ব্যবহার না করে এটি সেল ফোনের হট স্পটে সহজেই কার্যকরযোগ্য।

সেটআপ:

  1. স্ক্রিপ্টটি পিসি 1 এ ইনস্টল করুন (এই সমাধানটি ধরে নেয় ~ / বিনটি আপনার $ PATH এ রয়েছে):

    git clone https://github.com/ElectricRCAircraftGuy/eRCaGuy_dotfiles.git
    cd eRCaGuy_dotfiles/useful_scripts
    mkdir -p ~/bin
    ln -s "${PWD}/sync_git_repo_from_pc1_to_pc2.sh" ~/bin/sync_git_repo_from_pc1_to_pc2
    cd ..
    cp -i .sync_git_repo ~/.sync_git_repo
  2. এখন উপরে "~ / .sync_git_repo" ফাইলটি সম্পাদনা করুন এবং আপনার কেস ফিট করার জন্য এর পরামিতিগুলি আপডেট করুন। এতে রয়েছে প্যারামিটারগুলি এখানে:

    # The git repo root directory on PC2 where you are syncing your files TO; this dir must *already exist* 
    # and you must have *already `git clone`d* a copy of your git repo into it!
    # - Do NOT use variables such as `$HOME`. Be explicit instead. This is because the variable expansion will 
    #   happen on the local machine when what we need is the variable expansion from the remote machine. Being 
    #   explicit instead just avoids this problem.
    PC2_GIT_REPO_TARGET_DIR="/home/gabriel/dev/eRCaGuy_dotfiles" # explicitly type this out; don't use variables
    
    PC2_SSH_USERNAME="my_username" # explicitly type this out; don't use variables
    PC2_SSH_HOST="my_hostname"     # explicitly type this out; don't use variables
  3. গিট আপনার রেপো ক্লোন করুন আপনি পিসি 1 এবং পিসি 2 উভয় সিঙ্ক করতে চান।

  4. আপনার এসএস কীগুলি পিসি 1 এবং পিসি 2 উভয়ই দূরবর্তী রেপোতে চাপ দিতে এবং টানতে সক্ষম হবেন তা নিশ্চিত করুন। এখানে কিছু সহায়ক লিঙ্ক রয়েছে:
    1. https://help.github.com/en/github/authenticating-to-github/connecting-to-github-with-ssh
    2. https://help.github.com/en/github/authenticating-to-github/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent
  5. আপনার এসএস কীগুলি পিসি 1 থেকে পিসি 2 এ এসএসএসে সেট আপ করা আছে তা নিশ্চিত করুন।
  6. এখন cdপিসি 1 তে গিট রেপোর মধ্যে যে কোনও ডিরেক্টরিতে প্রবেশ করুন এবং চালান:

    sync_git_repo_from_pc1_to_pc2
  7. এটাই! প্রায় 30 সেকেন্ড পরে সবকিছু পিসি 1 থেকে পিসি 2 তে যাদুবিদ্যার সাথে সিঙ্ক করা হবে এবং এটি আপনার ডিস্কে এবং কোন কম্পিউটারে এটি কী করছে এবং এটি কোথায় চলছে তা আপনাকে জানানোর জন্য পুরো সময় মুদ্রণ করবে। এটিও নিরাপদ, কারণ এটি অনাকাঙ্ক্ষিত বা আপত্তিজনক কিছু মুছে দেয় না। পরিবর্তে প্রথম এটি ব্যাক আপ! কীভাবে এটি কাজ করে তার জন্য নীচে আরও পড়ুন।

এই স্ক্রিপ্টটি ব্যবহার করার প্রক্রিয়াটি এখানে (যেমন: এটি আসলে কী করছে)

  1. পিসি 1 থেকে: এটি পিসি 1 এ কোনও অনির্ধারিত পরিবর্তন আছে কিনা তা পরীক্ষা করে দেখেছে। যদি তা হয় তবে এটি বর্তমান শাখায় অস্থায়ী প্রতিশ্রুতিবদ্ধ হয়ে তাদের প্রতিশ্রুতিবদ্ধ। এরপরে এটি তাদের জোর করে একটি রিমোট SYNC শাখায় ঠেলে দেয়। তারপরে এটি স্থানীয় শাখায় এটির অস্থায়ী প্রতিশ্রুতিটি অস্বীকার করে, তারপরে এটি স্থানীয় গিট রেপোকে ঠিক কীভাবে ফিরিয়ে দেয় আপনি যখন স্ক্রিপ্ট বলেছিলেন সেই সময়ে যে কোনও ফাইল মঞ্চস্থ হয়েছিল তা মঞ্চস্থ করে by এরপরে, এটি rsyncস্ক্রিপ্টটির অনুলিপি পিসি 2-তে করে দেয় এবং একটি করেssh পিসি 2-তে জমা হয় এবং পিসি 2 কে কেবল একটি পিসি 2 স্টাফ করার জন্য একটি বিশেষ বিকল্প দিয়ে স্ক্রিপ্টটি চালনা করতে বলে call
  2. এখানে পিসি 2 কী করে তা এখানে: এটি রেপোতে আসে cdএবং কোনও স্থানীয় অনির্ধারিত পরিবর্তন উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখুন । যদি তা হয়, তবে এটি বর্তমান শাখার বাইরে একটি নতুন ব্যাকআপ শাখা তৈরি করে (নমুনার নাম:। এখন, এটি SYNC শাখা পরীক্ষা করে, এটি স্থানীয় মেশিনে ইতিমধ্যে না থাকলে দূরবর্তী সংগ্রহস্থল থেকে এটি টানছে। তারপরে, এটি আনবে দূরবর্তী সংগ্রহস্থলের সর্বশেষ পরিবর্তনগুলি, এবং স্থানীয় SYNC সংগ্রহস্থলকে রিমোট SYNC সংগ্রহস্থলের সাথে মেলে জোর করতে কঠোর রিসেট করে। এটি আপনি একটি "হার্ড টান" বলতে পারেন It এটি নিরাপদ, কারণ আমরা ইতিমধ্যে যে কোনও অনির্দিষ্ট পরিবর্তনকে ব্যাক আপ করেছি we পিসি 2 স্থানীয়ভাবে ছিল, তাই কিছুই হারিয়ে যায় না!my_branch_SYNC_BAK_20200220-0028hrs-15sec <- নোটিশটি হ'ল ইয়াইওয়াইএমএমডিডি-এইচএইচএমএইচএমএস - এসএসসি), এবং সেই শাখায় যে কোনও অনির্দিষ্ট পরিবর্তনকে প্রতিশ্রুতিবদ্ধ বার্তা যেমন ডিও ব্যাকআপ অফ অল অফ দিয়ে সমস্ত কিছু সম্পাদন করে its পিসি 2 তে অসমাপ্ত পরিবর্তনসমূহ (টার্গেট পিসি / বিল্ড মেশিন)
  3. এটাই! স্ক্রিপ্টটি আপনার জন্য সমস্ত স্বয়ংক্রিয় প্রতিশ্রুতিবদ্ধ এবং স্টাফ হ্যান্ডেল করায় আপনি ক্লিন ওয়ার্কিং ডিরেক্টরিগুলি নিশ্চিত না করেই এখন পিসি 1 থেকে পিসি 2 তে একটি নিখুঁত অনুলিপি তৈরি করেছেন! এটি দ্রুত এবং বিশাল সংগ্রহস্থলগুলিতে খুব ভাল কাজ করে। অন্য মেশিন তৈরি বা পরীক্ষার সময় সহজেই আপনার সেলফোন থেকে ওয়াইফাই হট স্পট জুড়ে আপনার কম্পিউটারের পছন্দের যে কোনও আইডিই ব্যবহার করার প্রয়োজন হয় যদি প্রয়োজন হয়, এমনকি যদি সংগ্রহস্থল কয়েক ডজন গিগাবাইট এবং আপনি সময় পান এবং সংস্থান-সীমাবদ্ধ।

সম্পদ:

  1. পুরো প্রকল্প: https://github.com/E લેક્ટricRCAircraftGuy/ eRCaGuy_dotfiles
    1. এই প্রকল্পের মধ্যেই সোর্স কোডটিতে আরও অনেক লিঙ্ক এবং রেফারেন্স দেখুন।
  2. "হার্ড টান" কীভাবে করব , যেমন আমি এটি বলি: স্থানীয় ফাইলগুলি ওভাররাইট করতে কীভাবে আমি "গিট টান" কে জোর করব?

সম্পর্কিত:

  1. কম্পিউটারের মধ্যে গিট রিপোজিটরি সিঙ্ক হয়, যখন ঘোরাফেরা করে?
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.