හඳුනා නොගත් ගොනුවක් ඔබ ගබඩා කරන්නේ කෙසේද?


1476

මට ගොනුවක වෙනස්කම් සහ නව ගොනුවක් ඇත, මම වෙනත් කාර්යයකට මාරු වන විට ඒවා ඉවතට දැමීමට git stash භාවිතා කිරීමට කැමැත්තෙමි. නමුත් git stash විසින්ම ගබඩා කරනුයේ පවතින ගොනුවේ වෙනස්කම් පමණි; මගේ අනාගත වැඩ කටයුතු අවුල් කරමින් නව ගොනුව මගේ වැඩ කරන ගසෙහි පවතී. මෙම නොකැඩූ ගොනුව ගබඩා කරන්නේ කෙසේද?


29
ඔබ සතුව ඔබේ ලිපිගොනු තුළ පමණක් සලකුණු නොකළ ලිපිගොනු තිබේ නම්, එය හිස් එකක් මෙන් පෙනෙනු ඇති අතර, git stash showප්‍රතිලාභ කිසිවක් නොලැබෙන අතර ඔබ එය අතහැර දැමීමට පෙළඹෙනු ඇත (මා මීට මාස කිහිපයකට පෙර ලියූ ප්‍රයෝජනවත් පිටපතක් එහි තිබියදීත් කළාක් මෙන්) → වූ පහත වැටී මැට්ටෙක් අයකර ගැනීමට ආකාරය )
Maxime ආර්

Answers:


1990

හඳුනා නොගත් ලිපිගොනු (විශේෂයෙන් .gitignore හි ඇති) ඇතුළුව ඔබේ වැඩ කරන නාමාවලිය ගබඩා කිරීම සඳහා ඔබට මෙම cmd භාවිතා කිරීමට අවශ්‍ය වනු ඇත:

git stash --include-untracked

වැඩිපුර විස්තර:

යාවත්කාලීන කිරීම 17 මැයි 2018:

Git හි නව සංස්කරණවල දැන් git stash --allනොපවතින සහ නොසලකා හරින ලද ගොනු ඇතුළුව සියලුම ලිපිගොනු තැන්පත් කර ඇත .
git stash --include-untrackedනොසලකා හරින ලද ලිපිගොනු තවදුරටත් ස්පර්ශ නොකරයි (git 2.16.2 මත පරීක්ෂා කර ඇත).

මුල් පිළිතුර පහතින්:

අවවාදයයි, මෙය කිරීමෙන් ඔබේ gitignore ගොනුවේ කිසියම් ඩිරෙක්ටරියක් / * ඇතුළත් කිරීම් තිබේ නම් එය ස්ථිරවම මකා දැමෙනු ඇත.

1.7.7 අනුවාදය අනුව, ඔබට ඒවා භාවිතයෙන් තොරව git stash --include-untrackedහෝ git stash save -uසොයා නොගත් ලිපිගොනු ගබඩා කර තැබිය හැකිය .

git addගොනුව එකතු කර එය ලුහුබැඳීම ආරම්භ කරන්න. ඉන්පසු stash. ගොනුවේ සම්පූර්ණ අන්තර්ගතය අළුත් බැවින් ඒවා ගබඩා කර තබනු ඇති අතර ඔබට අවශ්‍ය පරිදි එය හැසිරවිය හැකිය.


4
එම වෙනස් කිරීම් වේදිකාගත කර නොතිබුණද, තවමත් පවතින ලිපිගොනු වෙනස් කිරීම ඇයි?
ඇලන් ක්‍රිස්ටෙන්සන්

6
@ alan-christensen kernel.org/pub/software/scm/git/docs/git-stash.html හි විස්තරය කියවන්න . කාරණය වන්නේ ගබඩා කිරීමෙන් පසු පිරිසිදු වැඩ කරන ගසක් තිබීමයි.
කෙල්වින්

3
Comment කෙල්වින් මගේ අදහස් දැක්වීමේදී අදහස් කළේ එය නව ලිපිගොනු වේදිකාගත කර ඇත්නම් මිස ඒවා ගබඩා නොකරන බවයි. මට නොගැලපෙන බවක් පෙනේ.
ඇලන් ක්‍රිස්ටෙන්සන්

11
Lan ඇලන්ක්‍රිස්ටෙන්සන් කාරණය වන්නේ වෙනත් ශාඛාවක් පිරික්සීමෙන් නැවත ලිවිය හැකි දේවල් ගබඩා කිරීමයි.
jwg

3
ඔබට මෙහි ඉහළම පිළිතුර ඇති බැවින්, හේතු දෙකක් නිසා ඔබේ පිළිතුරට git stash --include-untrackedපෙර ලැයිස්තු ගත git stash --allකරන ලෙස මම ඉල්ලා සිටිමි . පළමුවෙන්ම එය 2019 දී OP හි ප්‍රශ්නයට වඩා හොඳින් පිළිතුරු සපයන අතර දෙවනුව - බොහෝ පරිශීලකයින් බොහෝ විට අකමැති දෙයක් කරන නිසා එය සියළුම ලිපිගොනු ඉවත් කරයි .Gitignored
Daniel Flippance

416

Git 1.7.7 වන විට, විකල්පය git stashපිළිගනී --include-untracked(හෝ කෙටි අත -u). හඳුනා නොගත් ලිපිගොනු ඔබේ තොගයේ ඇතුළත් කිරීමට, පහත දැක්වෙන විධානයන්ගෙන් එකක් භාවිතා කරන්න:

git stash --include-untracked
git stash -u

අවවාදයයි, මෙය කිරීමෙන් ඔබේ gitignore ගොනුවේ කිසියම් නාමාවලියක් / ඇතුළත් කිරීමක් තිබේ නම් එය ස්ථිරවම මකා දැමෙනු ඇත. *


15
සිසිල් - එය අවසානයේ අත්පොතෙහි විස්තර කර ඇති පරිදි ක්රියා කරයි. නව ලිපිගොනු ගබඩා නොකිරීම (පිරිසිදු කිරීම) යනු බිඳුණු හැසිරීමකි.
ස්ටීව් බෙනට්

1
මගේ git අනුවාදය 1.9.1 වන අතර මා සතුව ඇති දේ මේ .gitignoreආකාරයෙන් පෙනුනත් එය තවමත් සොයා ignoredDirectoryනොගත් ignoredDirectory/*අය මකා දමයි. හඳුනා නොගත් ගොනු පවා නාමාවලි පමණක් නොවේ.
theUnknown777

23
කරුණාකර ඔබට අනතුරු ඇඟවීම පැහැදිලි කළ හැකිද? එය එම ලිපිගොනු මකා දැමිය යුත්තේ ඇයි? එය ඒවා මකා දමනවාද? මම ටික කලක් Git භාවිතා කර ඇති අතර මෙම ගැටලුවට මුහුණ දී නොමැත.
ඇලෙක්සැන්ඩර් ඩුබින්ස්කි

අනතුරු ඇඟවීම් *.extensionඇතුළත් කිරීම් සඳහා ද අදාළ වේද?
arekolek

3
le aleksandr-dubinsky, @arekolek - git1.8.3 -u( --include-untracked) විකල්පය මඟින් සොයා නොගත් ලිපිගොනු ගබඩා කර පොප් කළ හැකිය, නමුත් git stash show
තොගයේ ඇති නොකැඩූ

78

ගොනුව දර්ශකයට එක් කරන්න:

git add path/to/untracked-file
git stash

දර්ශකයේ සමස්ත අන්තර්ගතය සහ පවතින ලිපිගොනු වල අස්ථිර වෙනස්වීම් සියල්ලම එය තොගයට ඇතුළත් කරනු ඇත.


දැනටමත් දර්ශකයේ ඇති වෙනස්කම් සටහන් කිරීමට ඔබට අවශ්‍ය නැතිනම් කුමක් කළ යුතුද? නව ගොනුව ගබඩා කිරීම තවමත් කළ හැකිද?
allyourcode

දර්ශකය කැප කරන්න, නව ගොනුව තැන්පත් කරන්න, ඉන්පසු බැඳීම ආපසු හරවන්න සහ / හෝ බැඳීම් වලින් ගොනු පරීක්ෂා කරන්න. එය හුරුබුහුටි විසඳුමක්, නමුත් එය ක්‍රියාත්මක විය යුතුය.
ග්දාලියා

git add .කිසියම් හේතුවක් නිසා එය සැලකිල්ලට
නොගනී

53

Git bash හි, සොයා නොගත් ලිපිගොනු ගබඩා කිරීම විධානය භාවිතා කිරීමෙන් සිදු වේ

git stash --include-untracked

හෝ

git stash -u

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

git stash මඟින් ඔබගේ වැඩබිමෙන් ඉවත් නොකළ හෝ නොකළ ලිපිගොනු ඉවත් කරයි. පහත දැක්වෙන විධානයන් භාවිතා කිරීමෙන් ඔබට git stash නැවත ලබා ගත හැකිය

git stash pop

මෙමඟින් ගොනුව ඔබගේ දේශීය සේවා ස්ථානයේ නැවත ස්ථානගත කෙරේ.

මගේ අත්දැකීම්

.Classpath සහ .project ගොනු දුරස්ථ repo වෙත ගෙනයාම වළක්වා ගැනීම සඳහා මගේ gitIgnore ගොනුවට වෙනස් කිරීමක් කිරීමට මට සිදු විය. මෙම වෙනස් කරන ලද .gitIgnore දුරස්ථ repo හි දැනට ගෙනයාමට මට අවසර නැත.

සූර්යග්‍රහණය සඳහා .classpath සහ .project ගොනු වැදගත් වේ - එය මගේ ජාවා සංස්කාරකයයි.

මම පළමුවෙන්ම මගේ ඉතිරි ලිපිගොනු තෝරාගෙන වේදිකා ගත කිරීමට කැපවී සිටිමි. කෙසේ වෙතත්, නවීකරණය කරන ලද .gitIgnore ෆීල්ස් සහ හඳුනා නොගත් ලිපිගොනු හැර අවසාන තල්ලුව සිදු කළ නොහැක. .project සහ .classpath ගබඩා කර නොමැත.

මම පාවිච්චි කළා

 git stash 

නවීකරණය කරන ලද .gitIgnore ගොනුව ගබඩා කිරීම සඳහා.

.Classpath සහ .project ගොනුව ගබඩා කිරීම සඳහා, මම භාවිතා කළෙමි

git stash --include-untracked

එය මගේ සේවා ස්ථානයෙන් ලිපිගොනු ඉවත් කළේය. මෙම ලිපිගොනු නොපැවතීම මගේ සේවා ස්ථානය සූර්යග්‍රහණයේ වැඩ කිරීමේ හැකියාව නැති කරයි. කැපවූ ලිපිගොනු දුරස්ථයට තල්ලු කිරීමේ ක්‍රියා පටිපාටිය සම්පූර්ණ කිරීමෙන් මම ඉදිරියට ගියෙමි. මෙය සාර්ථකව කළ පසු, මම භාවිතා කළෙමි

git stash pop

මෙම ලිපිගොනු නැවත මගේ සේවා ස්ථානයේ අලවා ඇත. මෙය සූර්යග්‍රහණයේ දී එකම ව්‍යාපෘතියක වැඩ කිරීමේ මගේ හැකියාව නැවත ලබා දුන්නේය. මෙය වැරදි වැටහීම් පසෙකට දමනු ඇතැයි සිතමි.


2
IDE ලිපිගොනු සඳහා ඔබ ගෝලීය gitignore භාවිතා නොකරන්නේ ඇයි? එනම්. භාවිතය ~/.gitignore.
ඇන්ටි පිහලාජා

21

Git අනුවාදය 2.8.1 හි: පහත සඳහන් දෑ මා වෙනුවෙන් ක්‍රියා කරයි.

නවීකරණය කරන ලද සහ සොයා නොගත් ලිපිගොනු නමක් නොමැතිව තොගයේ ගබඩා කිරීම

git stash save -u

නවීකරණය කරන ලද සහ සොයා නොගත් ලිපිගොනු නාමයක් සමඟ ගබඩා කිරීම

git stash save -u <name_of_stash>

එක්කෝ ඔබ භාවිතා කළ හැකිය ඇස්ටරොයිඩයක් හෝ අදාළ පසුව පහත සඳහන් වේ.

git stash pop

git stash apply stash@{0}

මෙය මගේ පරිගණකයෙන් ඉවත් නොකළ ලිපිගොනු ඉවත් නොකළේය. git stash showඒවා පෙන්නුවේ නැහැ. මම උත්සාහ කළ විට git stash apply, මට "දෝෂය: සොයා නොගත් ලිපිගොනු නැවත ස්ථාපිත කිරීමට නොහැකි විය". කෙසේ වෙතත්, පසුව ලිපිගොනු නැවත වරක් සලකුණු නොකළ ඒවා ලෙස ලැයිස්තුගත කරන ලද නමුත් ලුහුබැඳ ඇති ලිපිගොනු වල වෙනස්කම් ප්‍රතිස්ථාපනය නොවීය. මම හිතන්නේ එම ලිපිගොනු තොගයෙන් පරීක්ෂා කිරීමෙන් ඒවා තනි තනිව ප්‍රතිස්ථාපනය කළ හැකි නමුත් මෙම විසඳුම මා බලාපොරොත්තු වූ දෙය නොවේ.
hBrent

මෙම ප්‍රශ්නයේ මාතෘකාව ඔබ දුටුවාද? එය "ඔබ විසින් සොයා නොගත් ගොනුවක් ගබඩා කරන්නේ කෙසේද?". මට තේරුණේ නැහැ, ඔබ මෙහි කුමක් කිරීමට උත්සාහ කරනවාද කියා. ඉහත පිළිතුර ප්‍රශ්නයට ඉතා පැහැදිලිය. පැච් ස්වරූපයෙන් නවතම ස්ටෑෂ් බැලීම සඳහා ඔබ git stash show -p stash @ {0 use භාවිතා කළ යුතුය.
user1012513

user1012513, ඔබගේ අවසාන අදහස මා වෙත යොමු කළ බව මම සිතමි. දක්වා ඇති හේතු නිසා මම අදහස් දැක්වීමට සහාය වෙමි. මම උත්සාහ කරන විට දෝෂයක් ඇතිවිය git stash apply. එකතු කිරීම stash@{0}මඟින් ඔබ නවතම ස්ටෑෂ් එකක් යෙදීමට උත්සාහ කරන බව git ට පමණක් පවසන බව සලකන්න , එය මඟ හැරුණු විට ගම්‍ය වන අතර එබැවින් අවශ්‍ය නොවේ. සමහර විට 2018 සිට යමක් වෙනස් වී ඇති අතර, හෝ මගේ තත්වය පිළිබඳ වෙනස් දෙයක් තිබිය හැකිය, නමුත් මම සිතුවේ මගේ අත්දැකීම් ගැන මිනිසුන් දැනුවත් විය යුතු බවයි, මන්ද එය මට අනපේක්ෂිත දෙයක් වූ බැවිනි. ඔබේ විසඳුම සමහර පුද්ගලයින්ට ප්‍රයෝජනවත් නොවන බව මින් අදහස් නොවේ.
hBrent

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

[සටහන: @mancocapac වෙතින් අදහස් දැක්වීමක සඳහන් කර ඇති පරිදි, ඔබට විධානයට එක් --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
git ls-files -o මා උනන්දු වන ලිපිගොනු වලට වඩා බොහෝ ලිපිගොනු පෙන්වයි. පහත දැක්වෙන git තත්වයේ සිට --exclude-standard works එකතු කිරීම මට හමු විය. git ls-files -o --exclude-standard. මම සාමාන්‍යයෙන් මෙය නොසලකා හරින ලද නොකැඩූ ලිපිගොනු "ඇතුළත්" කිරීම පමණි, එනම් ඔබේ .gitignore පෙරහන් නොකරන ගොනු පමණක් පෙන්වයි
mancocapac

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) පොප් ලුහුබැඳ ඇත. ප්‍රති ult ලය: නොකැඩූ අවශේෂ ගබඩා කර ඇත.
Oded

3

ඔබට නොකැඩූ ලිපිගොනු ගබඩා කිරීමට අවශ්‍ය නම්, නමුත් සුචිගත කරන ලද ලිපිගොනු තබා ගන්න (උදාහරණයක් ලෙස ඔබ කැපවීමට බලාපොරොත්තු වන ඒවා), -k(දර්ශකය තබා ගන්න) විකල්පය එක් කරන්න-u

git stash -u -k


2

නව සහ නොකැඩූ ගොනුව "views.json" ලෙස හැඳින්වේ යැයි සිතමු. ඔබගේ යෙදුමේ තත්වය සටහන් කිරීමෙන් ඔබට ශාඛාව වෙනස් කිරීමට අවශ්‍ය නම්, මම සාමාන්‍යයෙන් ටයිප් කරන්නේ:

git add views.json

ඉන්පසු:

git stash

එය ගබඩා කර තබනු ඇත. එවිට මට ශාඛාව වෙනස් කළ හැකිය

git checkout other-nice-branch

1

ලිපිගොනුව එහි අන්තර්ගතය වේදිකා ගත කරන ස්ථානයට ගෙනයාමට වඩා ගොනුව පවතින බව පැවසීමෙන් මෙය විසඳිය හැකි යැයි මම සිතුවෙමි 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
මට කිව හැකි තාක් දුරට, කලින් වැඩ කරන්නේ ද නැත. මෙම ගැටලුවට විසඳුමක් සඳහා මගේ පිළිතුර බලන්න .
ලින්ඩ්ස්

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"

අවම වශයෙන් මගේ පද්ධතිය තුළ ඔබේ උපකල්පනය වැරදිය. කප්පාදුවකින් තොරව එය ක්රියා කරයි! හිස් නාමාවලි කෙසේ හෝ නොසලකා හරිනු ලැබේ. (macos git 2.6.2)
phobie

0

අලුතින් සාදන ලද ලිපිගොනු සමඟ Sourcetree භාවිතා කරන අතරතුර මටද එවැනිම ගැටලුවකට මුහුණ දීමට සිදු විය (ඒවා තොගයටද ඇතුළත් නොවේ).

මම මුලින්ම 'සියල්ල වේදිකාව' තෝරාගෙන පසුව අලුතින් එකතු කරන ලද සංරචක ලුහුබැඳ ඇති අතර ඒවා තොගයට ඇතුළත් කළ විට.


-7

මම එකම අංගය ගැන මෙනෙහි කර ආශා කළෙමි. නමුත් කාලයත් සමඟ, එය ඇත්ත වශයෙන්ම අවශ්‍ය නොවන බව මම දුටුවෙමි. ඔබ ගබඩා කරන විට, නව ලිපිගොනු තැබීම හරි. ඔවුන්ට "නරක" කිසිවක් සිදුවිය නොහැක (ඔබ වෙනත් දෙයක් පරික්ෂා කළ විට, git දෝෂයක් ඇති වන අතර පවතින හඳුනා නොගත් ගොනුව නැවත ලියන්නේ නැත)

සාමාන්යයෙන් සිට අතර කාල රාමුව git stashහා git stash popඔබ ඉක්මනින් නැවත untracked ගොනු අවශ්ය වෙයි, ඒ වෙනුවට කුඩා වේ. ඒ නිසා මම කියන්නේ git statusඔබ වෙනත් දෙයක වැඩ කරන අතරතුර ( git stashසහ අතර git stash pop) ගොනුවේ ඇති අපහසුතාවය කුඩා වන අතර පසුව එම කාර්යය නිසා ඇති වන අපහසුතාවය සහ අවධානය අවශ්‍ය නම් වෙනත් ආකාරයකින් සොයා නොගත් ගොනුව එක් කිරීමට උත්සාහ කිරීම සඳහා වැය වේ. ඔබේ තොගය.


15
එය ව්යාපෘතිය මත රඳා පවතී. නොකැඩූ ගොනුව (අර්ධ-ලිඛිත) ඒකක පරීක්ෂණයක් යැයි පවසන්න, සහ පරීක්ෂණ පටි නාමාවලියෙහි ඇති සියලුම ඒකක පරීක්ෂණ ක්‍රියාත්මක කරයි. ආදිය
ස්ටීව් බෙනට්

1
තවත් උදාහරණයක් නම්, ඔබ පරිගණක දෙකක වැඩ කරන්නේ නම්, ඔබට A සිට B දක්වා දත්ත ගෙනයාමට අවසර ඇත, නමුත් B සිට A දක්වා නොවේ. ඔබ B හි පළමු වරට ඇති වූ නමුත් ඔබ විසින් සිදු කරන ලද ගැටළුවක් විසඳීම සඳහා නව කේතයක් නිර්මාණය කරන්නේ නම් A සහ B යන දෙකටම අවශ්‍ය නම්, ඔබට ගොනුව B හි තැන්පත් කිරීමට හැකි විය යුතුය, එවිට ඔබ එම ගොනුව A මත ප්‍රතිනිර්මාණය කර එය මිටියක් තුළට ගෙන එන විට, ඔබ එසේ නොකළ බව තහවුරු කර ගැනීම සඳහා ගබඩා කර ඇති අනුවාදය වෙනස් කළ හැකිය. වැරැද්දක් කරන්න.
ග්දාලියා

7
එක් ශාඛාවක ගොනුවක් ලුහුබැඳ නැති නිසා, එයින් අදහස් කරන්නේ එය වෙනත් ශාඛාවක ලුහුබැඳ ඇති ගොනුවක් සමඟ ගැටෙන්නේ නැති බවයි.
jwg

3
සරල ප්‍රති-උදාහරණය: .conf.d නාමාවලියෙහි වින්‍යාස ගොනුව, හෝ වෙනත් ඕනෑම දෙයක් මෘදුකාංගයේ හැසිරීම වෙනස් කරයි.
fotanus

ඇත්ත වශයෙන්ම ක්රියාකාරිත්වය අවශ්ය වේ. අතිරේක නිදසුනක් ලෙස, ඔබට ගබඩා කිරීමට අවශ්‍ය දේශීයව සොයා නොගත් ලිපිගොනු තිබේ නම්, එක් ශාඛාවකින් තවත් ශාඛාවකට මාරු විය නොහැක.
ඩිමිට්‍රියන්
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.