मैं अपने भंडार में एक निर्देशिका संरचना है:Git फिल्टर शाखा: छोड़ निर्देशिका संरचना
|-repository/
| | |-repository/fileOne
| |
| |-subOne/
| | |-subOne/fileTwo
| |
| |-subTwo/
| |-subTwo/fileThree
मैं एक अलग भंडार में निर्देशिका subOne
ले जाना चाहते हैं। ऐसा करने के लिए, मैं subOne
तो जैसे git-filter-branch
का उपयोग कर अलग कर रहा हूँ:
$ git filter-branch --subdirectory-filter subOne --prune-empty
यह मैं एक शाखा इतिहास है कि इस तरह दिखता है के साथ छोड़ देता है:
$ git log --oneline
0c0ea11 subOne history
6318bba subOne history
c96fddb Initial commit
यह ठीक है कि मैं क्या चाहते हैं; एक और भंडार से मैं git fetch
और git merge
कर सकता हूं, जो subOne
और अन्य भंडार में इतिहास जोड़ता है। एक दम बढ़िया।
हालांकि, git-filter-branch
ने subOne
हटा दिया है। अपनी शाखा पर निर्देशिका संरचना जाँच हो रही है:
$ ls
fileOne
$ pwd
/this/is/a/path/repository
pwd
पढ़ना चाहिए: /this/is/a/path/repository
, लेकिन ls
subOne
भंडार के अंदर दिखाना चाहिए। इसके बजाय मुझे क्या मिला है subOne
की फाइल ऊपर की ओर बढ़ी है, और निर्देशिका हटा दी गई है।
मैं निर्देशिका खोने के बिना subOne
कैसे निकाल सकता हूं?
मैं _think_ फ़िल्टर-शाखा 'zsh' – knittl