আনরে্যাকড সামগ্রীকে কীভাবে ট্র্যাক করবেন?


159

আমার মূল প্রশ্নের জন্য কঠিন রেখার নীচে দেখুন।

আমার স্থানীয় ডিরেক্টরিতে আমার ফোল্ডার রয়েছে যা ট্রেড করা যায় না। আমি যখন দৌড়ে যাই git status, তখন আমি পাই:

Changed but not updated:
modified:   vendor/plugins/open_flash_chart_2 (modified content, untracked content)

আমি যখন টাইপ করি git add vendor/plugins/open_flash_chart_2তারপরে git statusআবার চেষ্টা করুন , এটি এখনও তালিবদ্ধ না করে বলে। কি হচ্ছে?


এখানে আমার সর্বশেষ অর্ধ ঘন্টা একটি সাধারণ সংক্ষিপ্তসার:

  • আবিষ্কার হয়েছে যে আমার গিথুব রেপো আমার vendor/plugins/open_flash_chart_2প্লাগইনটি অনুসরণ করছে না । বিশেষত, কোনও সামগ্রী নেই এবং এটি ফোল্ডার আইকনে একটি সবুজ তীর দেখায় showing

  • চেষ্টা করা হয়েছে git submodule init

    No submodule mapping found in .gitmodules for path 'vendor/plugins/open_flash_chart_2'
    
  • চেষ্টা করা হয়েছে git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

    vendor/plugins/open_flash_chart_2 already exists in the index
    
  • git status

    modified: vendor/plugins/open_flash_chart_2 (untracked content)
    
  • .gitmodulesআমার সংগ্রহশালা / স্থানীয় ডিরেক্টরিতে নামের যে কোনও ফাইলের জন্য শিকার হয়েছে তবে একটিও খুঁজে পেল না।

গিটটি সঠিকভাবে ট্র্যাকিং শুরু করতে পারে এমন আমার সাবমডিউলগুলি কাজ করতে আমাকে কী করতে হবে ?


এটি সম্পর্কিত হতে পারে না (এটি সাহায্য করার ক্ষেত্রে আমি এটি অন্তর্ভুক্ত করি) তবে প্রতিবারের git commit -aচেয়ে আমি টাইপ করার সময় git commit -m "my comments"এটি একটি ত্রুটি ছুঁড়ে দেয়:

E325: ATTENTION
Found a swap file by the name ".git\.COMMIT-EDITMSG.swp"
         dated: Thu Nov 11 19:45:05 2010
     file name: c:/san/project/.git/COMMIT_EDITMSG
      modified: YES
     user name: San   host name: San-PC
    process ID: 4268
While opening file ".git\COMMIT_EDITMSG"
         dated: Thu Nov 11 20:56:09 2010
  NEWER than swap file!  
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
Swap file ".git\.COMMIT_EDITMSG.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

আমি গিথুবে সম্পূর্ণ নবাগত এবং ডকুমেন্টেশনটি দেখার চেষ্টা করার পরেও আমি এই বিশেষ সমস্যাগুলি থেকে কিছুটা স্তব্ধ হয়েছি। ধন্যবাদ.


2
আমি কয়েকটি বিষয় নিয়ে বিভ্রান্ত হয়ে পড়েছি। এক: আপনি গিথুব বলতে থাকেন কেন? আপনি যে সমস্ত কথা বলছেন তা স্থানীয় মনে হয় (সেই সবুজ তীর ব্যতীত - আমি সে সম্পর্কে কিছুই জানি না)। এটি কি ঠিক, নাকি গিথুবকে আপডেট দেওয়ার বিষয়ে এটি একটি প্রশ্ন? দুটি: আপনি সাবমডিউল হিসাবে এই প্লাগইনটি তৈরি করতে আসলে কিছু করেছেন? একটি সাবমডিউল তার নিজস্ব ডানদিকে গিট সংগ্রহস্থল। আপনি এটিকে আলাদাভাবে তৈরি করেন, তারপরে এটিকে সুপারপ্রজেক্টে যুক্ত করুন।
ক্যাসকেবেল

1
এইচএম, গিট স্ট্যাটাসের আউটপুটটি বোঝায় যে সেখানে সত্যিই একটি সাবমডিউল আছে ... তবে আপনার কাছে সত্যিই একটি .gitmodules ফাইল নেই? সত্যি বলতে, যদি এই প্লাগইন নিজস্ব রেপো আছে, এবং আপনি জানেন আপনি কি এটা সংস্করণ চান, আপনি ঠিক যে ডিরেক্টরির আপনার প্রকল্পের থেকে অপসারণ করতে পারে, নিশ্চিত করুন সেখানে .gitmodules কোন এন্ট্রি এর, এবং submodule সেটআপ মধ্য দিয়ে যেতে: git submodule add, git submodule update --init
ক্যাসাবেল

জেফ্রমি - আমি গিথুবকে আসলে দু'বারের বেশি উল্লেখ করি নি - প্রথমবার হ'ল ওপেন_ফ্ল্যাশ_চার্ট_2 এর জন্য সত্যিকারের গিথুব সংগ্রহস্থলের হলুদ ফোল্ডারের চিত্রের উপরে সবুজ তীর উপস্থিত রয়েছে। উত্তরটি আরও পরিষ্কার করার জন্য আমি আনন্দের সাথে সম্পাদনা করব।
স্কিরিস

1
@ এসসিআররাস: আপনার অবশ্যই একটি পছন্দ, সাবমডিউল বা না থাকা উচিত। যদি এটি কোনও বাহ্যিক জিনিস হয় তবে আপনি কাজ করছেন না তবে আপনি যেগুলি আপডেট চান তা এটি একটি উপ-মডেল হওয়া উচিত। আপনি যদি এর মূল রেপো থেকে আপডেট পাওয়ার বিষয়ে চিন্তা না করেন এবং উত্সটি নিজেই হ্যাক করতে চান তবে এটি কোনও সাবমডিউল হওয়া উচিত নয়।
ক্যাসকেবেল

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

উত্তর:


239

আপনি vendor/plugins/open_flash_chart_2"গিটলিংক" এন্ট্রি হিসাবে যুক্ত করেছেন, তবে কখনও এটিকে উপ-মডেল হিসাবে সংজ্ঞায়িত করেন নি। কার্যকরভাবে আপনি অভ্যন্তরীণ বৈশিষ্ট্যটি ব্যবহার করছেন যা গিট সাবমডিউল ব্যবহার করে (গিটলিংক এন্ট্রি) তবে আপনি নিজেই সাবমডিউল বৈশিষ্ট্যটি ব্যবহার করছেন না।

আপনি সম্ভবত এরকম কিছু করেছেন:

git clone git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2
git add vendor/plugins/open_flash_chart_2

এই শেষ আদেশটিই সমস্যা। ডিরেক্টরিটি vendor/plugins/open_flash_chart_2একটি স্বাধীন গিট সংগ্রহস্থল হিসাবে শুরু হয়। সাধারণত এ জাতীয় সাব- रिपোরিটরিগুলি উপেক্ষা করা হয়, তবে আপনি যদি গিট অ্যাডটিকে স্পষ্টভাবে যোগ করার জন্য বলেন তবে এটি একটি গিটলিংক এন্ট্রি তৈরি করবে যা ডিরেক্টরিটির বিষয়বস্তু যুক্ত করার পরিবর্তে সাব-রেপোজিটরির হেড কমিটকে নির্দেশ করে। গিট অ্যাড এই জাতীয় "আধা-সাবমডিউল" তৈরি করতে অস্বীকৃতি জানালে এটি দুর্দান্ত হতে পারে ।

সাধারণ ডিরেক্টরিগুলি গিতে গাছের বস্তু হিসাবে প্রতিনিধিত্ব করা হয়; ট্রি অবজেক্টগুলি তাদের ধারণকৃত বস্তুর নাম দেয় এবং অনুমতি দেয় (সাধারণত অন্যান্য গাছ এবং ব্লব অবজেক্টগুলি respectively ডিরেক্টরি এবং ফাইলগুলি যথাক্রমে)। সাবমডিউলগুলি "গিটলিংক" এন্ট্রি হিসাবে উপস্থাপিত হয়; গিটলিংক এন্ট্রিগুলিতে কেবল সাব-মডুলের হেড কমিটের অবজেক্টের নাম (হ্যাশ) থাকে। গিটলিংকের কমিটের জন্য "উত্স সংগ্রহস্থল" .gitmodulesফাইলটিতে সুনির্দিষ্ট করা হয় (এবং ফাইলটি সাবমোডিয়াল .git/configশুরু হওয়ার পরে)।

আপনার কাছে যা রয়েছে তা হল একটি প্রতিশ্রুতি যা সেই প্রতিশ্রুতিটির জন্য সোর্স সংগ্রহস্থলটি রেকর্ড না করে একটি বিশেষ প্রতিশ্রুতি দেয়। আপনি আপনার গিটলিংককে একটি উপযুক্ত সাবমোডিয়ালে পরিণত করে বা গিটলিংকটি সরিয়ে এবং "সাধারণ" বিষয়বস্তু (প্লেইন ফাইল এবং ডিরেক্টরি) দিয়ে এটি প্রতিস্থাপন করে সমাধান করতে পারেন।

এটি একটি যথাযথ সাবমডিউলে পরিণত করুন

vendor/plugins/open_flash_chart_2সাবডমডিউল হিসাবে সঠিকভাবে সংজ্ঞায়িত করতে আপনি একমাত্র বিট হারিয়ে যাচ্ছেন এটি একটি .gitmodulesফাইল। সাধারণত (আপনি যদি ইতিমধ্যে এটি বেয়ার গিটলিংক এন্ট্রি হিসাবে যুক্ত না করেন), আপনি কেবল ব্যবহার করবেন git submodule add:

git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

যেমন আপনি খুঁজে পেয়েছেন, পথটি ইতিমধ্যে সূচকে উপস্থিত থাকলে এটি কাজ করবে না। সমাধানটি হ'ল সাময়িকভাবে সূচি থেকে গিটলিংক এন্ট্রি সরিয়ে ফেলুন এবং তারপরে সাবমডিউলটি যুক্ত করুন:

git rm --cached vendor/plugins/open_flash_chart_2
git submodule add git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

এটি আপনার বিদ্যমান সাব-রিপোজিটরিটি ব্যবহার করবে (অর্থাত্ এটি উত্স সংগ্রহস্থলিকে পুনরায় ক্লোন করবে না) এবং .gitmodulesএমন একটি ফাইল মঞ্চস্থ করবে :

[submodule "vendor/plugins/open_flash_chart_2"]
    path = vendor/plugins/open_flash_chart_2
    url = git://github.com/korin/open_flash_chart_2_plugin.git vendor/plugins/open_flash_chart_2

এটি আপনার মূল সংগ্রহস্থলগুলিতে .git/config( বিন্যাস ছাড়াই path) অনুরূপ প্রবেশ করবে ।

এটি প্রতিশ্রুতিবদ্ধ এবং আপনার একটি উপযুক্ত সাবমডিউল থাকবে। আপনি যখন সংগ্রহস্থলটি ক্লোন করে (বা গিটহাবের দিকে এগিয়ে যান এবং সেখান থেকে ক্লোন করেন), আপনার মাধ্যমে সাবমডিউলটি পুনরায় আরম্ভ করতে সক্ষম হওয়া উচিত git submodule update --init

এটি সরল সামগ্রী দিয়ে প্রতিস্থাপন করুন

পরবর্তী পদক্ষেপটি অনুমান করে যে আপনার সাব-রিপোজিটরিতে vendor/plugins/open_flash_chart_2এমন কোনও স্থানীয় ইতিহাস নেই যা আপনি সংরক্ষণ করতে চান (অর্থাত্ আপনার যত্ন নেওয়া সমস্ত হ'ল উপ-সংগ্রহস্থলের বর্তমান কার্যকারী গাছ, ইতিহাস নয়)।

আপনি যে সাব-रिपোজিটরিটির বিষয়ে আগ্রহী সেগুলির স্থানীয় ইতিহাস যদি থাকে তবে আপনার .gitনীচের দ্বিতীয় কমান্ডে সাব-সংগ্রহস্থলের ডিরেক্টরিটি মুছে ফেলার আগে ব্যাকআপ করা উচিত । ( নীচে গিট সাবট্রি উদাহরণ বিবেচনা করুন যা উপ-সংগ্রহস্থলের হেডের ইতিহাস সংরক্ষণ করে)

git rm --cached vendor/plugins/open_flash_chart_2
rm -rf vendor/plugins/open_flash_chart_2/.git # BACK THIS UP FIRST unless you are sure you have no local changes in it
git add vendor/plugins/open_flash_chart_2

এবার ডিরেক্টরি যুক্ত করার সময় এটি কোনও উপ-সংগ্রহস্থল নয়, তাই ফাইলগুলি সাধারণত যুক্ত করা হবে। দুর্ভাগ্যক্রমে, যেহেতু আমরা .gitডিরেক্টরিটি মুছে ফেলেছি উত্স সংগ্রহস্থলের সাথে জিনিসগুলি আপ টু ডেট রাখার কোনও সহজ-সহজ উপায় নেই।

পরিবর্তে আপনি একটি সাবট্রি মার্জ ব্যবহার বিবেচনা করতে পারেন । এটি করার ফলে আপনি সহজেই আপনার সংগ্রহস্থলটিতে "ফ্ল্যাট" ফাইল রাখার পরে উত্স সংগ্রহস্থল থেকে পরিবর্তনগুলি সহজেই টানতে পারবেন (কোনও সাবমডিউল নেই)। তৃতীয় পক্ষের গিট সাবট্রি কমান্ডটি সাবট্রি মার্জ কার্যকারিতা চারপাশের একটি দুর্দান্ত মোড়ক।

git rm --cached vendor/plugins/open_flash_chart_2
git commit -m'converting to subtree; please stand by'
mv vendor/plugins/open_flash_chart_2 ../ofc2.local
git subtree add --prefix=vendor/plugins/open_flash_chart_2 ../ofc2.local HEAD
#rm -rf ../ofc2.local # if HEAD was the only tip with local history

পরবর্তীতে:

git remote add ofc2 git://github.com/korin/open_flash_chart_2_plugin.git
git subtree pull --prefix=vendor/plugins/open_flash_chart_2 ofc2 master

git subtree push --prefix=vendor/plugins/open_flash_chart_2 git@github.com:me/my_ofc2_fork.git changes_for_pull_request

গিট সাবট্রির একটি --squashবিকল্প রয়েছে যা আপনাকে সোর্স সংগ্রহস্থলের ইতিহাসকে আপনার ইতিহাসে অন্তর্ভুক্ত করা এড়াতে দেয় তবে তবুও আপনাকে আপ স্ট্রিম পরিবর্তনগুলি টানতে দেয়।


ক্রিস, আমি কেবল চেষ্টা করেছি rm -rf vendor/plugins/open_flash_chart_2/.gitএবং এটি বলে যে 'আরএম' স্বীকৃত নয়। তারপরে আমি চেষ্টা করেছিলাম git rm -rf vendor/plugins/open_flash_chart_2/.gitএবং এটি বলেছে fatal: pathspec 'vendor/plugins/open_flash_chart_2/.git' did not match any files(তবে আমি উইন্ডোজ এক্সপ্লোরারটিতে সেখানে যেতে পারি!)।
স্কিরিস

2
আমরা সমস্যার একটি বিট আলোচনা চ্যাটে লোকের ওপি উপ-সংগ্রহস্থল এর অপসারণ করতে সক্ষম হন .gitDir এবং ফাইল "স্পষ্টাস্পষ্টি" (প্রথমে "সাধারণ বিষয়বস্তু" বিকল্প) পুনরায় যোগ করুন।
ক্রিস জনসেন

1
এটি আমার গাধাটিকে এতদিন বাঁচিয়েছিল। আমি ঘটনাক্রমে আমার গিট রেপোতে এটি একটি .git ডিরেক্টরি সহ কিছু যুক্ত করেছিলাম এবং তারপরে গিট কিন্ডা-সাজ্টা ভেবেছিল এটির একটি সাবমডিউল রয়েছে, যা আমার গিট এসএনএন ডিসকমিটকে ফাঁস করে দেবে। আমি পারলে 3 বার আপনাকে উজ্জীবিত করতাম।
ডেভিডটবার্নাল

বলতে চাই, তৃতীয় পক্ষের প্লাগইনটি subtreeসাবট্রি মার্জ করে বিভ্রান্ত হওয়ার দরকার নেই। এটি কোনও মোড়ক নয়। লেখক তাই বলেছেন: পি
নেবুলাফক্স

@NebulaFox: যদিও Git সাবট্রি নয় শুধু (অর্থাত সাবট্রি মার্জ কাছাকাছি একটি লেফাফা, এটা অবশ্যই মান "সাবট্রি একত্রীকরণ" পদ্ধতি হিসাবে একই কৌশল ব্যবহার করে git readtree --prefix=path: এবং সাবট্রি মার্জ git mergeসঙ্গে -s subtreeবা-Xsubtree=path )। এটিতে "উপরেও" দুর্দান্ত অতিরিক্ত রয়েছে: --squashমোড, splitকমান্ড, pushএবং pullসহায়তাকারীগণ।
ক্রিস জনসন

114

আমি ঠিক একই সমস্যা। কারণটি ছিল কারণ এখানে একটি সাবফোল্ডার ছিল যার মধ্যে ".git" ফোল্ডার ছিল। এটি অপসারণ গিট খুশি।


হ্যাঁ, অ্যান্ড্রয়েড স্টুডিওতে আমার সাথে এটি ঘটেছিল। গিট রেপো ইতিমধ্যে / অ্যাপ ফোল্ডারে তৈরি করা হয়েছিল যখন আমি গিট রেপো একটি ফোল্ডার আপ তৈরির চেষ্টা করছিলাম। ধন্যবাদ।
জিরকনকোড

আমি অন্যান্য অনেক ফোল্ডারের নীচে আমার একটি কৌণিক ক্লাইম তৈরি অ্যাপ্লিকেশন পেয়েছিলাম এবং সেই ফোল্ডারে একটি .git ফোল্ডার ছিল: / এটি আসল সমস্যাটি সাবমোডুল স্টাফ নয়!
পাসকাল

এটি আমার জন্য কাজ করে ... আমি গিট অ্যাডটি বহুবার চেষ্টা করেছি, কিন্তু কিছুই ঘটেনি। তারপরে আমি .gitফোল্ডারটি সরিয়ে
নিনজা

1
তবে যদি আমি এখনও আমার সাবফোল্ডারটি ট্র্যাক করতে চাই? আমার কি করা উচিৎ ?
সাইবার 8200

একই মামলা আছে। এখনও সেই সাবফোল্ডারটি ট্র্যাক করতে চাইলে দুঃখের সাথে একটি .git ফোল্ডারও রয়েছে। এই স্যুফোল্ডার .git ফোল্ডারটি মোছার পরে এটি আমার প্রধান .git ফোল্ডারে আর ট্র্যাক করা যায় না ...। :(
sqp_125

14
  1. আমি সেই নতুন ডিরেক্টরিগুলি থেকে .git ডিরেক্টরিগুলি সরিয়েছি (এটি সাবমডিউল নাটক তৈরি করতে পারে interested আগ্রহী হলে এটি গুগল করুন))
  2. আমি তখন গিট rm -rf --cached / the / new / ডিরেক্টরিগুলি চালিয়েছি
  3. তারপরে আমি গিট অ্যাড দিয়ে ডিরেক্টরিগুলি পুনরায় যুক্ত করেছিলাম। উপর থেকে

রেফারেন্স ইউআরএল https://danielmiessler.com/blog/git-modified-untracked/#gs.W0C7X6U


6

ক্রিস জোহানসেনের ওপির সাথে চ্যাটটি (উত্তরের উত্তর থেকে সংযুক্ত) আমাকে কী বের করতে হয়েছিল তা নির্দেশ করার জন্য:

git add vendor/plugins/open_flash_chart_2 # টি গিটলিংক যুক্ত করবে, বিষয়বস্তুটি তালিবদ্ধ থাকবে

git add vendor/plugins/open_flash_chart_2/ # স্ল্যাশটি লক্ষ্য করুন !!!!

দ্বিতীয় ফর্মটি গিটলিংক ছাড়াই এটি যুক্ত করবে এবং সামগ্রীগুলি ট্র্যাকযোগ্য। .Git দির সুবিধামত এবং স্বয়ংক্রিয়ভাবে উপেক্ষা করা হয়। ধন্যবাদ ক্রিস!


5

আমি পিটার লাডার প্রস্তাবিত কৌশলটি সর্বদা ব্যবহার করি, "নকল সাবমডিউলস" হিসাবে ডাব করে:

http://debuggable.com/posts/git-fake-submodules:4b563ee4-f3cc-4061-967e-0e48cbdd56cb

এটি বেশ কয়েকটি পরিস্থিতিতে খুব দরকারী (এটি আমি আমার সমস্ত ইমা্যাকস কনফিগারেশনটি একটি এলপো / এল-প্যাকেজ ডিরেক্টরি প্যাকেজ ডিরেক্টরিগুলির মধ্যে থাকা সমস্ত গিট রিপোজিটরির বর্তমান হেড সহ একটি ভাণ্ডারটিতে রাখার জন্য ব্যবহার করি, তাই আমি সহজেই কোনও পরিচিতের কাছে ফিরে / এগিয়ে যেতে পারি) কার্যকারী সংস্করণ যখন কিছু আপডেট কিছু ভেঙে যায়)।


3

http://progit.org/book/ch6-6.html

আমার মনে হয় সাবমডিউল সম্পর্কে কিছুটা জানতে আপনার এটি পড়া উচিত। এটি ভাল লেখা, এবং এটি পড়তে খুব বেশি সময় লাগে না।


3

অনেক সাবমডিউল সহ একটি বড় প্রকল্পে আমার একই সমস্যা ছিল। এর উত্তর উপর ভিত্তি করে ক্রিস জনসেন এখানে এবং VonC এখানে আমি একটি ছোট ব্যাশ স্ক্রিপ্ট সমস্ত বিদ্যমান gitlink এন্ট্রি মাধ্যমে iterates এবং তাদের সঠিক submodules যেমন যোগ নির্মাণ।

#!/bin/bash

# Read all submodules in current git
MODULES=`git ls-files --stage | grep 160000`

# Iterate through every submodule path
while read -r MOD; do
  # extract submodule path (split line at whitespace and take string with index 3)
  ARRIN=(${MOD})
  MODPATH=${ARRIN[3]}

  # grep module url from .git file in submodule path
  MODURL=`grep "url = " $MODPATH/.git/config`
  MODURL=${MODURL##*=}

  # echo path and url for information
  echo $MODPATH
  echo $MODURL

  # remove existing entry in submodule index
  git rm --cached $MODPATH
  # add new entry in submodule index
  git submodule add $MODURL $MODPATH
done <<< "$MODULES"

এটি আমার জন্য এটি স্থির করেছে, আমি আশা করি এটি কোনও উপকারে আসবে।


2

এটি আমার পক্ষে ঠিক কাজ করেছে:

গিট আপডেট-ইনডেক্স - স্কিপ-ওয়ার্ক্রি

যদি এটি পথের নামের সাথে কাজ না করে তবে ফাইলের নামটি চেষ্টা করে দেখুন। এটি যদি আপনার পক্ষে কাজ করে তবে আমাকে জানান।

বিদায়!


1

একই সমস্যা ছিল, তবে এটি এই আলোচনায় সমাধান হয়নি।

থ্রেড খোলার ক্ষেত্রে বর্ণিত সাব-মডিউল সমস্যাটিও আমি আঘাত করেছি।

% git status          
# On branch master
# Changes not staged for commit:
#   modified:   bundle/taglist (untracked content)

ভিন্নতার দিকে তাকিয়ে আমি সনাক্ত করেছি যে একটি হ্যাশের সাথে সংযুক্ত -ডার্টি যুক্ত হয়েছে: ডক্সটি আবার পড়া, আমার জন্য সমস্যার সমাধান solved http://web.mit.edu/jhakk/mnt/spo/git/git-doc/user-manual.html বিভাগটি "সাবমডিউলগুলি সহ সমস্যাগুলি" দেখুন

কারণটি ছিল, সাবমডিউলের মধ্যে কিছু পরিবর্তন বা চিহ্নবিহীন সামগ্রী ছিল। আমাকে প্রথমে সাবমডিউল ডিরেক্টরিতে যেতে হয়েছিল, সাবমোডুলের মধ্যে সমস্ত সামগ্রী ট্র্যাক করার জন্য একটি "গিট অ্যাড" + "গিট কমিট" করুন।

Then "git status" on the master stated
% git commit
# On branch master
# Changes not staged for commit:
#   modified:   bundle/taglist (new commits)

এখন সাবমডিউল থেকে এই নতুন হেড মাস্টার মডিউলটিতে যেতে পারে।


1

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

আমার সহকর্মীর সাথে অনেক আলোচনার পরে, আমরা কেবল এটির উইং করা এবং সুরকার ইনস্টল বা এনএমপি ইনস্টল না করে আমাদের নির্ভরতা অনুলিপি করার সিদ্ধান্ত নিয়েছি।

এটি আমাদেরকে গিটিগনোরে বিক্রেতাদের এবং এনপিএম_মডিউলগুলি যুক্ত করতে নেতৃত্ব দেয়। আমি যখন এই সমস্যার মুখোমুখি হই তখনই এটি হয়।

Changed but not updated:
modified:   vendor/plugins/open_flash_chart_2 (modified content, untracked content)

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

find . -name ".git"

এটি আমাকে প্রায় 4-5 নির্ভরতা দিয়েছে যা তাদের উপর গিট ছিল। আমি এই সমস্ত .git ফোল্ডার এবং voila অপসারণ, এটি কাজ করে। আমি জানি এটি হ্যাক, এবং যাইহোক খুব গৌরবময় নয়। হে Sশ্বর, আমাকে ক্ষমা করুন! পরের বার আমি গিটলিংকগুলি পড়তে এবং হে শক্তিশালী লিনাস টোভাল্ডসকে মান্য করার প্রতিশ্রুতি দিচ্ছি।


1

এই প্রশ্নের উত্তর ইতিমধ্যে দেওয়া হয়েছে, তবে আমি ভেবেছিলাম যে আমি এই বার্তাগুলি পেয়েছি তখন আমি কী মিশেছি তা মিশিয়ে দেব।

আমার কাছে একটি রেপো আছে playgroundযাতে বেশ কয়েকটি স্যান্ডবক্স অ্যাপ্লিকেশন রয়েছে। আমি playgroundটিউটোরিয়ালটির রেপো ক্লোন করে একটি টিউটোরিয়াল থেকে দুটি নতুন অ্যাপ্লিকেশন যুক্ত করেছি । ফলাফলটি হ'ল নতুন অ্যাপগুলির গিট স্টাফগুলি টিউটোরিয়ালটির রেপোগুলিকে নির্দেশ করেছে এবং আমার রেপোকে নয়। সমাধানটি ছিল .gitঅ্যাপ্লিকেশনগুলির ডিরেক্টরিগুলির ডিরেক্টরিগুলি, mvডিরেক্টরিগুলির বাইরে থাকা অ্যাপগুলির ডিরেক্টরিগুলি থেকে ডিরেক্টরি মুছে ফেলা playgroundএবং তারপরে mvসেগুলি ফিরে চালানো git add .। এর পরে এটি কাজ করে।


1

আমি আমার সাবফোল্ডার থেকে .git ফাইল মোছার মাধ্যমে এই সমস্যাটি সমাধান করেছি।

  1. প্রথমে আপনার সাবফোল্ডার থেকে .git ফাইলটি মুছুন
  2. তারপরে এই কোডটি চালিয়ে আপনার সাবফোল্ডারটি গিট থেকে সরান, গিট rm -rf - আপনার_সুফোল্ডার_নামটি ক্যাচ করেছেন
  3. তারপরে আবার গিট অ্যাড দ্বারা আপনার ফোল্ডার যুক্ত করুন। হুকুম

0

প্রথম যেতে নির্দেশিকা : বিক্রেতা / প্লাগিন / open_flash_chart_2 এবং DELETE


তত:

git rm --cached vendor/plugins/open_flash_chart_2  
git add .  
git commit -m "Message"  
git push -u origin master  

git status  

আউটপুট

শাখা মাস্টারে
আপনার শাখা 'উত্স / মাস্টার' দিয়ে আপ-টু-ডেট।
প্রতিশ্রুতিবদ্ধ কিছুই, পরিশ্রুত ডিরেক্টরি পরিষ্কার

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