git - क्या रिमोट रिपोजिटरी में गिट स्टैश को धक्का देना संभव है?



git-stash (6)

AFAIK स्टैश का पूरा विचार स्थानीय कार्पेट के तहत कुछ भी महत्वपूर्ण नहीं छिपाना है। किसी को भी अपने पसंदीदा बकवास के बारे में पता नहीं होना चाहिए ;-) केवल "लेकिन" है: लेकिन अगर मैं कुछ वर्कस्टेशन पर विकसित करता हूं? फिर scp रास्ता बेहतर है।

गिट में, क्या स्टैच बनाना संभव है, रिमोट रिपोजिटरी में स्टैश को दबाएं, किसी अन्य कंप्यूटर पर स्टैश पुनर्प्राप्त करें, और स्टैश लागू करें?

या मेरे विकल्प हैं:

  • एक पैच बनाएं और पैच को दूसरे कंप्यूटर पर कॉपी करें, या
  • एक छोटी शाखा बनाएं और उस शाखा में अधूरा काम करें?

Answer #1

इस लड़के की तरह बस ड्रॉपबॉक्स का उपयोग करें। इस तरह आपको स्टैश को धक्का देने के बारे में चिंता करने की ज़रूरत नहीं है क्योंकि आपके सभी कोड का बैक अप लिया जाएगा।

http://blog.sapegin.me/all/github-vs-dropbox


Answer #2

निम्नलिखित छेड़छाड़ के साथ काम नहीं करता है, लेकिन कामकाजी dir में असामान्य परिवर्तन के साथ। यह एक शाखा बनाता है, सभी मौजूदा परिवर्तन autocommits, और रिमोट पर धक्का देता है:

commit_and_push_ ( ) {
    # This will:
    #  1. checkout a new branch stash-XXX
    #  2. commit the current changes in that branch
    #  3. push the branch to the remote
    local locbr=${1:-autostash-XXX}
    git checkout -b $locbr
    git add .
    git commit -a -m "Automatically created commit"
    git push origin $locbr
    echo "Autocommitted changes in branch $locbr ..."
}

इस तरह प्रयोग करें:

commit_and_push_ my-temp-branch
commit_and_push_

Answer #3

मैं दूसरे दृष्टिकोण के साथ जाऊंगा हालांकि कोई विचार नहीं है कि आप इसे मास्टर / फीचर्ड शाखा में क्यों नहीं दे सकते। चेरी-पिकिंग भी करना संभव है।


Answer #4

यह थोड़ा देर हो चुकी है, लेकिन यह जवाब किसी की मदद कर सकता है। मैं यह जानना चाहता था क्योंकि मैं एक प्रगति फीचर / बग / जो भी हो और किसी अन्य कंप्यूटर पर एक ही बिंदु से काम करने में सक्षम होना चाहता था।

मेरे लिए क्या काम करता है मेरा प्रगति कोड (एक शाखा में जिसे मैं अकेले पर काम कर रहा हूं) करना है। जब मैं अपने दूसरे कंप्यूटर पर जाता हूं, तो एक पुल करें, फिर प्रतिबद्धता को पूर्ववत करें:

git reset --soft HEAD^

जैसा कि आप थे, वैसे ही काम करना जारी रखें, आपके सभी प्रगति में परिवर्तन, असामान्य, और अस्थिर।

आशा करता हूँ की ये काम करेगा।


Answer #5

नोट: मैंने अपने बेल्ट के नीचे 24 घंटे और गिट-फू के साथ इस जवाब को अभी लिखा है :) मेरे शैल इतिहास में, पूरे शेबांग अब तीन एक-लाइनर हैं। हालांकि, मैंने आपकी सुविधा के लिए उन्हें बिना शर्त लगा दिया है।

इस तरह, मुझे आशा है कि आप यह देखने में सक्षम होंगे कि मैंने चीजों को कॉपी / पेस्ट करने के बजाय चीजों को कैसे किया।

चरण-दर-चरण यहां है।

मान लीजिए ~ / OLDREPO में स्टैश युक्त स्रोत है। कोई टेस्ट क्लोन बनाएं जिसमें कोई स्टैश नहीं है:

cd ~/OLDREPO
git clone . /tmp/TEST

अस्थायी शाखाओं के रूप में सभी छिद्रों को पुश करें:

git send-pack /tmp/TEST $(for sha in $(git rev-list -g stash); \
    do echo $sha:refs/heads/stash_$sha; done)

स्टैश में वापस बदलने के लिए प्राप्त करने वाले अंतराल पर लूप:

cd /tmp/TEST/
for a in $(git rev-list --no-walk --glob='refs/heads/stash_*'); 
do 
    git checkout $a && 
    git reset HEAD^ && 
    git stash save "$(git log --format='%s' -1 [email protected]{1})"
done

यदि आप करेंगे तो अपनी अस्थायी शाखाओं को साफ़ करें

git branch -D $(git branch|cut -c3-|grep ^stash_)

एक गिट स्टैश सूची करें और आप ऐसा कुछ करेंगे:

[email protected]{0}: On (no branch): On testing: openmp import
[email protected]{1}: On (no branch): On testing: zfsrc
[email protected]{2}: On (no branch): WIP on sehe: 7006283 fixed wrong path to binary in debianized init script (reported as part of issue
[email protected]{3}: On (no branch): WIP on debian-collab: c5c8037 zfs_pool_alert should be installed by default
[email protected]{4}: On (no branch): WIP on xattrs: 3972694 removed braindead leftover -O0 flag
[email protected]{5}: On (no branch): WIP on testing: 3972694 removed braindead leftover -O0 flag
[email protected]{6}: On (no branch): WIP on testing: db9f77e fuse_unmount_all could be starved for the mtx lock
[email protected]{7}: On (no branch): WIP on xattrs: db9f77e fuse_unmount_all could be starved for the mtx lock
[email protected]{8}: On (no branch): WIP on testing: 28716d4 fixed implicit declaration of stat64
[email protected]{9}: On (no branch): WIP on emmanuel: bee6660 avoid unrelated changes

मूल भंडार पर, वही दिखता था

[email protected]{0}: WIP on emmanuel: bee6660 avoid unrelated changes
[email protected]{1}: WIP on testing: 28716d4 fixed implicit declaration of stat64
[email protected]{2}: WIP on xattrs: db9f77e fuse_unmount_all could be starved for the mtx lock
[email protected]{3}: WIP on testing: db9f77e fuse_unmount_all could be starved for the mtx lock
[email protected]{4}: WIP on testing: 3972694 removed braindead leftover -O0 flag
[email protected]{5}: WIP on xattrs: 3972694 removed braindead leftover -O0 flag
[email protected]{6}: WIP on debian-collab: c5c8037 zfs_pool_alert should be installed by default
[email protected]{7}: WIP on sehe: 7006283 fixed wrong path to binary in debianized init script (reported as part of issue #57)
[email protected]{8}: On testing: zfsrc
[email protected]{9}: On testing: openmp import




git-stash