2012-02-15 14 views
10

बदलना मैं किसी भी तरह गिट निर्देशिका संरचना को बदलना चाहता हूं। वर्तमान में वास्तुकलागिट संरचना

तरह
VL(repo)  
    .git (hidden)  
    code files  
    ......  
    ..... 

I want it like 

html(repo) 
    .git 
    VL 
     code files 
     ...... 
     ...... 

मैं वर्तमान रेपो को संग्रहीत और फिर ऊपर संरचना के साथ नई रेपो बनाने के लिए एक समाधान था। लेकिन इस दृष्टिकोण के बारे में बुरी बात यह है कि यह पिछले इतिहास को हटा देता है। क्या कोई बेहतर समाधान है?

उत्तर

19

VL से html से रूट फ़ोल्डर का नाम बदलना कोई समस्या नहीं होगी क्योंकि गिट केवल उस स्तर के नीचे निर्देशिकाओं पर काम करता है।

mkdir VL 
git mv <all your code> VL 
git commit -m "moved all my code under VL" 

का उपयोग करना git mv आप Git कि आप चीजों को ले जाया गया बता, तो यह अभी भी इतिहास का ट्रैक रखने सकता है:

तो, क्या बचा है html फ़ोल्डर के नीचे फ़ोल्डर VL शुरू करने और ले जाने के सभी code files है।


संपादित करें:
Benjol रूप में, उसकी टिप्पणी में नोटों का उपयोग कर git mv आवश्यक नहीं है। आप VL को <all your code> को कॉपी करके ही हासिल कर सकती है, तो

  • git add VL
  • git rm <all your code>
  • git commit -m "moved all my code under VL

Git बहुत चालाक आंदोलन पहचान करने के लिए है।

+0

भले ही आप 'गिट एमवी' का उपयोग न करें, गिट को इस तथ्य पर उठाया जाना चाहिए कि फाइलें केवल स्थानांतरित हो गई हैं और बदली नहीं हैं। – Benjol

+0

@ बेंजोल: हाँ, ज़ाहिर है कि आप सही हैं। बस ओपी को जानकारी देना चाहता था कि उसके उपयोग के मामले में एक अंतर्निहित कमांड है। उत्तर अपडेट कर रहा है। धन्यवाद। – eckes

+0

ध्यान दें कि इतिहास "गिट लॉग - फॉलो" के साथ परिवर्तन में पहुंच योग्य होगा, लेकिन यह केवल व्यक्तिगत फ़ाइलों के लिए काम करता है। – yoyo

2

अपना कोड मैन्युअल रूप से ले जाएं। फिर,

git add -A 
git commit -m "moved code" 

हो गया।

संबंधित मुद्दे