আপনি কীভাবে একটি অনিবদ্ধ ফাইল সংরক্ষণ করতে পারেন?


1431

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


27
সচেতন হোন যে আপনার স্ট্যাশে যদি কেবল অচিহ্নযুক্ত ফাইল থাকে তবে এটি দেখতে খালি খালি মনে হবে, যেমন git stash showকোনও কিছুই প্রত্যাবর্তন করে না এবং আপনি এটি ফেলে দেওয়ার প্রলোভনেও পড়তে পারেন (যেমন আমি এটি কিছুক্ষণ আগে লিখেছিলাম একটি দরকারী স্ক্রিপ্ট রয়েছে Dropped কীভাবে বাদ পড়ে যাওয়া স্ট্যাশ পুনরুদ্ধার করবেন )
ম্যাক্সিমাম আর

উত্তর:


1918

আপনার কাজ করা ডিরেক্টরি স্ট্রেশ করার জন্য, অচিহ্নযুক্ত ফাইলগুলি (বিশেষত যা .gitignore এ রয়েছে) সহ আপনি সম্ভবত এই সেমিডিটি ব্যবহার করতে চান:

git stash --include-untracked

আরো বিস্তারিত:

আপডেট 17 মে 2018:

git stash --allগিটের নতুন সংস্করণগুলিতে এখন অচিহ্নযুক্ত এবং উপেক্ষা করা ফাইল সহ সমস্ত ফাইলকে স্ট্যাশ করে।
git stash --include-untrackedআর উপেক্ষা করা ফাইলগুলিকে স্পর্শ করবে না (গিট 2.16.2 তে পরীক্ষা করা হয়েছে)।

নীচে মূল উত্তর:

সতর্কতা, এটি করা আপনার ফাইলগুলি স্থায়ীভাবে মুছে ফেলবে যদি আপনার গিটিগনোর ফাইলে কোনও ডিরেক্টরি / * এন্ট্রি থাকে।

সংস্করণ ১.7..7 অনুসারে আপনি স্ট্রেজ না করে অবিরত ফাইলগুলি স্ট্যাশ করতে git stash --include-untrackedবা ব্যবহার করতে পারেন git stash save -u

( git add) ফাইল যুক্ত করুন এবং এটি ট্র্যাকিং শুরু করুন। তারপরে লুকিয়ে রাখা। যেহেতু ফাইলটির সম্পূর্ণ বিষয়বস্তু নতুন, সেগুলি স্ট্যাশ করা হবে এবং আপনি এটি প্রয়োজনীয় হিসাবে চালিত করতে পারেন।


4
এই পরিবর্তনগুলি মঞ্চায়িত না হওয়া সত্ত্বেও কেন স্ট্যাশ বিদ্যমান ফাইলগুলি পরিবর্তিত করে?
অ্যালান ক্রিস্টেনসেন

6
@ অ্যালান- খ্রিস্টেনসন কর্নেল.আর / পব / সোফওয়্যার / এসএসএম / গিট / ডকস / গিট - স্ট্যাশ . html এর বিবরণ পড়ুন । মূল বিষয় হল স্ট্যাশ করার পরে একটি পরিষ্কার কাজের গাছ থাকা।
কেলভিন

3
@ ক্যালভিন আমার মন্তব্যে আমি যা বোঝাতে চেয়েছি তা হল যে এটি নতুন ফাইল মঞ্চ করা না হলে এটি স্ট্যাশ করে না যদিও এটি উপস্থিত ফাইলগুলি মঞ্চস্থ না করা সত্ত্বেও এটি স্ট্যাশ করে না। আমার কাছে বেমানান বলে মনে হচ্ছে।
অ্যালান ক্রিস্টেনসেন

11
@ অ্যালানক্রিসটেনসেন পয়েন্টটি হ'ল জিনিসগুলি স্ট্যাশ করা যা কোনও ভিন্ন শাখার চেকআউট দ্বারা ওভাররাইট করা যেতে পারে।
jwg

3
আপনার কাছে এখানে শীর্ষস্থানীয় উত্তর রয়েছে, আমি অনুরোধ করব আপনার দুটি কারণে git stash --include-untrackedআগে git stash --allউত্তর দেওয়ার আগে তালিকাবদ্ধ করুন। প্রথমে এটি ২০১২ সালে অপের প্রশ্নটির আরও ভাল উত্তর দেয় এবং দ্বিতীয় কারণ - বেশিরভাগ ব্যবহারকারী সম্ভবত এমন কিছু করতে চান যা এটি .gitignored সমস্ত ফাইল সরিয়ে দেয়
ড্যানিয়েল ফ্লিপ্যান্স

411

1.7.7 গিট হিসাবে, বিকল্পটি (বা স্বল্প-হাত ) git stashগ্রহণ করে । আপনার স্ট্যাশে অচিহ্নযুক্ত ফাইলগুলি অন্তর্ভুক্ত করতে, নিম্নলিখিত কমান্ডগুলির মধ্যে দুটি ব্যবহার করুন:--include-untracked-u

git stash --include-untracked
git stash -u

সতর্কতা, এটি করা আপনার ফাইলগুলি স্থায়ীভাবে মুছে ফেলবে যদি আপনার গিটিগনোর ফাইলে কোনও ডিরেক্টরি / * এন্ট্রি থাকে।


15
শীতল - এটি পরিশেষে ম্যানুয়াল পৃষ্ঠাতে বর্ণিত হিসাবে কাজ করে। নতুন ফাইল স্ট্যাশ না করা (এবং পরিষ্কার করা) হ'ল ভাঙা আচরণ।
স্টিভ বেনেট

1
আমার গিটটির সংস্করণটি 1.9.1 এবং আমার কাছে যা আছে তা .gitignoreদেখতে এটি দেখতে ignoredDirectoryনা পারা ignoredDirectory/*যায় এবং এটি এখনও সেই তালিকৃতগুলি মুছে দেয়। এমনকি তালিকাভুক্ত ফাইলগুলিও কেবল ডিরেক্টরি নয়।
দ্য ইউএন7777

22
আপনি দয়া করে সতর্কতা ব্যাখ্যা করতে পারেন? এটি কেন এই ফাইলগুলি মুছবে? এটি কি তাদের মুছে ফেলে এবং তা লুকিয়ে রাখে না? আমি কিছুক্ষণ গিট ব্যবহার করেছি এবং এই সমস্যায় পড়িনি।
আলেকসান্দ্র ডাবিনস্কি 21

সতর্কতাটি *.extensionএন্ট্রিগুলিতেও প্রযোজ্য ?
arekolek

3
@ আলেকসান্ডার-ডাবিনস্কি, @arekolek - git1.8.3 -u( --include-untracked) বিকল্পটি অননুমোদিত ফাইলগুলি ঠিকঠাক করে ও পপ করতে পারে তবে স্ট্যাশ- git stash showএ থাকা তালিকার চিহ্নবিহীন ফাইলগুলিকে তালিকাভুক্ত করে না
xilef

77

সূচীতে ফাইলটি যুক্ত করুন:

git add path/to/untracked-file
git stash

সূচকের সম্পূর্ণ সামগ্রী, এবং বিদ্যমান ফাইলগুলিতে কোনও স্টেস্টেস্টেড পরিবর্তন না করা সমস্ত এটিকে স্ট্যাশে পরিণত করবে।


আপনি যদি ইতিমধ্যে সূচকে থাকা পরিবর্তনগুলি স্ট্যাশ করতে না চান তবে কী হবে? নতুন ফাইল স্ট্যাশ করা কি এখনও সম্ভব?
অ্যালিওরকোড

সূচকে কমিট করুন, নতুন ফাইল স্ট্যাশ করুন, তারপরে কমিটটি ফিরিয়ে দিন এবং / অথবা কমিট থেকে ফাইলগুলি পরীক্ষা করে দেখুন। এটি একটি ক্লডজি সমাধান, তবে এটি কাজ করা উচিত।
Gdalya

git add .এটি কোনও কারণে এটি বিবেচনায় নিচ্ছিল না
দ্য বিিল থিওরিতে

53

গিট ব্যাশে, চিহ্নবিহীন ফাইল স্ট্যাশিং কমান্ডটি ব্যবহার করে অর্জন করা যায়

git stash --include-untracked

অথবা

git stash -u

http://git-scm.com/docs/git-stash

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

git stash pop

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

আমার অভিজ্ঞতা

.Classpath এবং। প্রকল্প ফাইলগুলিকে দূরবর্তী রেপোতে চলাচল এড়াতে আমাকে আমার gitIgnore ফাইলটিতে একটি পরিবর্তন করতে হয়েছিল। আমাকে এখনই রিমোট রেপোতে এই পরিবর্তিত .গিটটি সরানোর অনুমতি নেই।

.classpath এবং .project ফাইলগুলি গ্রহণের জন্য গুরুত্বপূর্ণ - যা আমার জাভা সম্পাদক।

আমি প্রথমে আমার বাকী ফাইলগুলি নির্বাচিতভাবে যুক্ত করে মঞ্চের জন্য প্রতিশ্রুতিবদ্ধ। তবে, পরিবর্তনকৃত .gitInore ফাইলগুলি এবং চিহ্নবিহীন ফাইলগুলি যেমন: চূড়ান্ত পুশ সম্পাদন করা যাবে না। .প্রজেক্ট এবং .ক্লাসপাথ স্ট্যাশ করা হয় না।

আমি ব্যবহার করতাম

 git stash 

পরিবর্তিত .gitIgnore ফাইলটি স্ট্যাশ করার জন্য।

.Classpath এবং। প্রকল্প ফাইল স্ট্যাশ করার জন্য, আমি ব্যবহার করেছি

git stash --include-untracked

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

git stash pop

এটি একই ফাইলগুলি আমার ওয়ার্কস্পেসে ফিরে গেছে। এটি আমাকে গ্রহনে একই প্রকল্পে কাজ করার ক্ষমতা ফিরিয়ে দিয়েছে। আশা করি এই ভ্রান্ত ধারণাগুলি বাদ দিয়েছে aside


2
আপনি আইডিই ফাইলগুলির জন্য বিশ্বব্যাপী গিটিগনোর ব্যবহার করবেন না কেন? অর্থাৎ। ব্যবহার ~/.gitignore
আন্তি পিহলাজা

20

যেমনটি অন্য কোথাও বলা হয়েছে, git addফাইলটির উত্তর । উদাহরণ:

git add path/to/untracked-file
git stash

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

git add -N path/to/untracked/file     # note: -N is short for --intent-to-add
git stash

এটি নিম্নলিখিত হিসাবে ব্যর্থ হবে:

path/to/untracked-file: not added yet
fatal: git-write-tree: error building trees
Cannot save the current index state

তো তুমি কি করতে পার? ঠিক আছে, আপনাকে ফাইলটি সত্যই যুক্ত করতে হবে, তবে আপনি কার্যকরভাবে পরে এটি আন-এড করতে পারেন git rm --cached:

git add path/to/untracked-file
git stash save "don't forget to un-add path/to/untracked-file" # stash w/reminder
# do some other work
git stash list
# shows:
# stash@{0}: On master: don't forget to un-add path/to/untracked-file
git stash pop   # or apply instead of pop, to keep the stash available
git rm --cached path/to/untracked-file

এবং তারপরে আপনি একই অবস্থায় কাজ চালিয়ে যেতে পারেন git add(যেমন একটি কলবিহীন ফাইল বলা হয় path/to/untracked-file; এছাড়াও আপনাকে ট্র্যাক করা ফাইল থাকতে পারে অন্য কোনও পরিবর্তন)।

এটির উপর একটি কার্যপ্রবাহের জন্য আরেকটি সম্ভাবনা হ'ল:

git ls-files -o > files-to-untrack
git add `cat files-to-untrack` # note: files-to-untrack will be listed, itself!
git stash
# do some work
git stash pop
git rm --cached `cat files-to-untrack`
rm files-to-untrack

[দ্রষ্টব্য: @ মানকোক্যাপ্যাকের একটি মন্তব্যে যেমন উল্লেখ করা হয়েছে, আপনি কমান্ডটিতে যোগ --exclude-standardকরতে git ls-filesপারেন (তাই, git ls-files -o --exclude-standard)।

... যা সহজে স্ক্রিপ্টও করা যেতে পারে - এমনকি এলিয়াসগুলিও করত (zsh সিনট্যাক্সে উপস্থাপিত হয়; প্রয়োজনমতো সামঞ্জস্য হয়) [এছাড়াও, আমি ফাইলের নামটি সংক্ষিপ্ত করে রেখেছি যাতে এই উত্তরটিতে কোনও স্ক্রোল না করেই সমস্ত পর্দায় ফিট করে; আপনার পছন্দের বিকল্প ফাইল নামটি নির্দ্বিধায় মনে করুন]:

alias stashall='git ls-files -o > .gftu; git add `cat .gftu`; git stash'
alias unstashall='git stash pop; git rm --cached `cat .gftu`; rm .gftu'

মনে রাখবেন যে শেল স্ক্রিপ্ট বা ফাংশন হিসাবে পরেরটি আরও ভাল হতে পারে, প্যারামিটারগুলি সরবরাহ করা যেতে পারে তবে git stashআপনি না চান popতবে apply, এবং / অথবা কেবল শীর্ষে না গিয়ে নির্দিষ্ট স্ট্যাশ নির্দিষ্ট করতে সক্ষম হতে চান এক. সম্ভবত এটি (উপরের দ্বিতীয় উপনামের পরিবর্তে) [সাদা স্কেসটি কোনও স্ক্রোল না করে ফিট করার জন্য ছিটকে গেছে; বর্ধিত স্বচ্ছতার জন্য পুনরায় যুক্ত করুন]:

function unstashall(){git stash "${@:-pop}";git rm --cached `cat .gftu`;rm .gftu}

নোট : এই ফর্ম, আপনি শনাক্তকারী সেইসাথে একটি কর্ম যুক্তি সরবরাহ আপনি একটি লুকোবার জায়গা আইডেন্টিফায়ার সরবরাহ, যেমন চলুন যদি প্রয়োজন unstashall apply stash@{1}বাunstashall pop stash@{1}

কোনটি অবশ্যই আপনি .zshrcদীর্ঘমেয়াদে তৈরি করতে সমতুল্য বা তার সমতুল্য রাখবেন।

আশা করি এই উত্তরটি কারও পক্ষে সহায়ক, সমস্ত কিছুকে একটি উত্তরে রেখে দেওয়া।


1
নিম্নলিখিত গিটের স্থিতি থেকে আমি - এক্সক্লুড-স্ট্যান্ডার্ড কাজগুলি যুক্ত করে দেখতে পেয়েছি যেগুলি থেকে আমি আগ্রহী তার চেয়ে অনেক বেশি ফাইল দেখায় গিট এলএস-ফাইলগুলি- গিট এলএস-ফাইল -ও - এক্সক্লুড-স্ট্যান্ডার্ড। এই আমার নিন এটি শুধুমাত্র "মধ্যে" untracked ফাইল আপনি সাধারণত না উপেক্ষা করা হবে, অর্থাত শুধুমাত্র untracked ফাইলগুলি আপনার .gitignore ফিল্টার করে বের করে না দেন হয়
mancocapac

20

গিট সংস্করণে 2.8.1: নিম্নলিখিতটি আমার জন্য কাজ করে।

কোনও নাম ছাড়াই সংশোধিত এবং অচিহ্নযুক্ত ফাইল সংরক্ষণ করতে ash

git stash save -u

একটি নামের সাথে সংশোধিত এবং অচিহ্নযুক্ত ফাইল সংরক্ষণ করতে ash

git stash save -u <name_of_stash>

আপনি নীচে পপ ব্যবহার করতে পারেন বা পরে প্রয়োগ করতে পারেন ।

git stash pop

git stash apply stash@{0}

এটি আমার কম্পিউটার থেকে তালিকাভুক্ত ফাইলগুলি অপসারণ করতে পারে নি, যদিও এগুলি আর তালিকৃত হিসাবে তালিকাভুক্ত ছিল না। git stash showতাদের দেখায় নি। আমি যখন চেষ্টা করেছি git stash apply, তখন আমার "ত্রুটি: স্ট্যাশ থেকে অননুতৃত ফাইলগুলি পুনরুদ্ধার করতে পারেনি" got যাইহোক, ফাইলগুলি আবার অচিহ্নযুক্ত হিসাবে তালিকাভুক্ত করা হয়েছিল, তবে ট্র্যাক করা ফাইলগুলিতে পরিবর্তনগুলি পুনরুদ্ধার করা হয়নি। আমি মনে করি those ফাইলগুলি স্ট্যাশ থেকে বাইরে যাচাই করে স্বতন্ত্রভাবে পুনরুদ্ধার করা যেতে পারে, তবে এই সমাধানটি আমি প্রত্যাশা করিনি।
এইচব্রেন্ট

9

আমি কেবল না করা ফাইলগুলি স্ট্যাশ করতে সক্ষম হয়েছি:

git stash save "tracked files I'm working on"
git stash save -u "untracked files I'm trying to stash"
git stash pop stash@{1}

সর্বশেষ একটি ট্র্যাক করা ফাইলের স্ট্যাশকে পপ করে, সুতরাং কেবল চিহ্ন ছাড়াই রাখা ফাইলগুলি স্ট্যাশ করে রাখা হয়।


git stash save -uকেবল untrackedফাইলগুলি সংরক্ষণ করে না , এটি উভয় trackedএবং সংরক্ষণ করে untracked। আমি মনে করি আপনি যে প্রথম সংরক্ষণ করছেন তা এই ক্ষেত্রে প্রয়োজনীয়তা নয়। সেখানে একটি ভাল ডায়াগ্রাম এর atlassian.com/git/tutorials/saving-changes/...
Drenai

2
প্রশ্নটি কীভাবে কেবল অনতিযুক্ত ফাইলগুলিকে স্ট্যাশ করতে হয়। আপনি যদি প্রথম স্ট্যাশ এড়িয়ে যান তবে আপনি কী পপ করবেন? ধারণাটি হ'ল: 1) স্ট্যাশ ট্র্যাক। 2) স্ট্যাশ অন্রে্যাকড। 3) পপ ট্র্যাক। ফলাফল: অবরুদ্ধ অবধি স্ট্যাশ করা হয়েছে।
ওডে

3

আপনি যদি ট্রেডবিহীন ফাইলগুলি স্ট্যাশ করতে চান, তবে ইনডেক্সড ফাইলগুলি রাখুন (আপনি উদাহরণস্বরূপ যেটি প্রতিশ্রুতিবদ্ধ হবেন) কেবলমাত্র -k(সূচী রাখুন) বিকল্পটি যুক্ত করুন-u

git stash -u -k


2

ধরা যাক নতুন এবং তালিকায় না ফেলা ফাইলটিকে ": ভিউজেঞ্জন" বলা হয়। আপনি যদি নিজের অ্যাপের স্থিতি দিয়ে শাখা পরিবর্তন করতে চান তবে আমি সাধারণত টাইপ করি:

git add views.json

তারপর:

git stash

এবং এটি স্তব্ধ করা হবে। তারপরে আমি শুধু দিয়ে শাখা পরিবর্তন করতে পারি

git checkout other-nice-branch

1

এখানে বেশ কয়েকটি সঠিক উত্তর রয়েছে, তবে আমি এটি উল্লেখ করতে চেয়েছিলাম যে নতুন সম্পূর্ণ ডিরেক্টরিগুলির জন্য, কাজ 'git add path'করবে না । সুতরাং যদি আপনার তালিকার চিহ্নবিহীন পথে নতুন কিছু ফাইল থাকে এবং এটি করুন:

git add untracked-path
git stash "temp stash"

এটি নিম্নলিখিত বার্তায় লুকিয়ে থাকবে:

Saved working directory and index state On master: temp stash
warning: unable to rmdir untracked-path: Directory not empty

এবং যদি আপনি যদি কেবল স্ট্র্যাশ করে থাকেন তবে যদি অবিরত না হওয়া-পাথটি হয় তবে স্ট্যাশ "টেম্প স্ট্যাশ" খালি স্ট্যাশ হবে। সঠিক উপায়টি হ'ল ডিরেক্টরিটি নয় (পুরোপুরি একটি '/' দিয়ে পথটি শেষ করুন), পুরো পথটি যুক্ত করা:

git add untracked-path/
git stash "temp stash"

কমপক্ষে আমার সিস্টেমে আপনার অনুমানটি ভুল। এটি স্ল্যাশ ছাড়া কাজ করে! খালি ডিরেক্টরি যাইহোক উপেক্ষা করা হয়। (ম্যাকোস গিট 2.6.2)
ফোবি

0

আমি ভেবেছিলাম এটি ফাইলের উপস্থিতি স্টেজিং এরিয়াতে সমস্ত বিষয়বস্তু কমিট করার পরিবর্তে কল করে এবং তারপরে কল করে এই সমস্যার সমাধান করতে পারে git stash। আরাকনিদ বর্ণনা করেছেন প্রাক্তনটি কীভাবে করবেন।

git add --intent-to-add path/to/untracked-file

অথবা

git update-index --add --cacheinfo 100644 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 path/to/untracked-file

তবে, আধুনিক কাজ করে না:

$ git stash
b.rb: not added yet
fatal: git-write-tree: error building trees
Cannot save the current index state

1
আমি যতদূর বলতে পারি, প্রাক্তনটিও কাজ করে না। এই সমস্যার সমাধানের জন্য আমার উত্তর দেখুন ।
লিন্ডস

0
git stash --include-untracked

আমার প্রিয় হিসাবে এটি আপনার যুক্ত করা ফাইলগুলি মঞ্চায়িত করে নি এমন ফাইলগুলিও সংরক্ষণ করে।


0

নতুন তৈরি করা ফাইলগুলির সাথে সোর্সট্রি ব্যবহার করার সময় আমি একই ধরণের সমস্যার মুখোমুখি হয়েছি (সেগুলি স্ট্যাশে অন্তর্ভুক্ত করা হবে না)।

যখন আমি প্রথম 'মঞ্চ সমস্ত' বেছে নিয়েছি এবং তারপরে নতুন যুক্ত হওয়া উপাদানগুলি ট্র্যাশ করা হয়েছে যেখানে ট্র্যাক করা হয়েছে এবং সুতরাং স্ট্যাশের মধ্যে অন্তর্ভুক্ত করা হয়েছে।


এই প্রশ্নটি 11 বছরের পুরানো এবং ইতিমধ্যে 14 টি উত্তর রয়েছে। আপনি পোস্ট করার আগে সেগুলি পড়েছেন?
মিকায়েল বি

-7

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

যেহেতু সাধারণত মধ্যে সময় ফ্রেম git stashএবং git stash popবরং ছোট হয়, তাহলে আপনি untracked ফাইল দ্রুত আবার প্রয়োজন হবে। সুতরাং আমি বলব যে আপনি git statusযখন অন্য কিছুতে কাজ করছেন তখন ফাইলটির অসুবিধা দেখা দিবে (এর মধ্যে git stashএবং এর মধ্যে git stash pop) কাজটি অসুবিধাগুলি হ'ল এবং মনোযোগের প্রয়োজন পড়লে অন্যথায় তালিকার চিহ্নবিহীন ফাইলটি যুক্ত করার চেষ্টা করতে হবে তোমার স্ট্যাশ


15
এটি প্রকল্পের উপর নির্ভর করে। বলুন অচিহ্নযুক্ত ফাইলটি একটি (অর্ধ-লিখিত) ইউনিট পরীক্ষা, এবং পরীক্ষার জোতা ডিরেক্টরিতে সমস্ত ইউনিট পরীক্ষা চালায়। ইত্যাদি
স্টিভ বেনেট

1
আরেকটি উদাহরণ হ'ল যদি আপনি দুটি কম্পিউটারে কাজ করেন এবং আপনাকে A থেকে B তে ডেটা স্থানান্তর করার অনুমতি দেওয়া হয়েছে তবে B থেকে A তে নয় তবে আপনি যদি প্রথমে বিতে ঘটে যাওয়া কোনও সমস্যা সমাধানের জন্য কোডের একটি নতুন টুকরো তৈরি করেন তবে আপনি A এবং B উভয়কেই চান, আপনি বি তে ফাইলটি স্ট্যাশ করতে সক্ষম হবেন যাতে আপনি যখন ফাইলটি A এ পুনরায় তৈরি করেন এবং তারপরে এটি একটি বান্ডেলে নিয়ে আসেন, আপনি যাচাই করেননি তা পরীক্ষা করার জন্য স্ট্যাশেড সংস্করণটিকে আলাদা করতে পারবেন ভুল করা.
Gdalya

7
কেবল একটি ফাইল একটি শাখায় ট্র্যাক করা হয়নি, এর অর্থ এই নয় যে এটি অন্য শাখায় ট্র্যাক করা ফাইলের সাথে বিরোধ করবে না।
jwg

3
সাধারণ পাল্টা উদাহরণ: .conf.d ডিরেক্টরিতে কনফিগারেশন ফাইল, বা অন্য কোনও যে কেবল সেখানে উপস্থিত থেকে সফ্টওয়্যারটির আচরণটি পরিবর্তন করে।
fotanus

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