2012-04-04 1 views
1

Ich habe ein kostbares auf meiner Festplatte installieren:Erstellen einer Niederlassung in git, aber nervös zu schaden bestehenden Stallmeister

/var/www/lukevan/PA2/po

Dies ist die "PO" Projekt. Wir möchten diese Version für unsere Kunden beibehalten, aber jetzt müssen wir einen neuen, experimentellen Zweig erstellen, der für eine Weile instabil sein kann, bis wir bereit sind, das wieder in das laufende, stabile PO-Projekt zu integrieren. Ich habe this documentation überprüft, aber was verwirrt mich ist, ob ich das in meinem kostbaren/var/www/lukevan/po2/po-Ordner ausführen sollte, oder ob ich etwas anderes tun sollte, um mein wertvolles Risiko nicht zu verletzen/var/www/lukevan/po2/po Ordner?

Antwort

0

Hier ist, was ich getan habe, obwohl ich weiß nicht, ob es die optimale Art und Weise, dies zu handhaben:

Auf meiner Entwicklungs-Workstation, die einen Web-Server hat:

cd /var/www/lukevan 
mkdir pof2 
cd pof2 
git clone [email protected]:po.git 
ls 
# a po folder was listed -- that's the MASTER of our project, called "po". 
git branch pof2 
git checkout pof2 

I kann jetzt an/var/www/lukevan/po2/po arbeiten, um bei Bedarf an dem stabilen Master-Zweig zu arbeiten, und dann an/var/www/lukevan/pof2/po arbeiten, um bei Bedarf auch am instabilen, experimentellen Zweig zu arbeiten. Ich kann meinen "git pull origin master" oder "git pull origin pof2" ausführen, um die neuesten Dateien herunterzuladen, wegzuhacken, dann git add. Auszuführen, dann git commit -m "was ich begehe" auszuführen, und dann git push Ursprungsmaster für Master und Git drücken Ursprung pof2 für pof2.

1

In Ihrem Fall sollten Sie Ihr Repo irgendwo sicher klonen und am Klon arbeiten.

Auf diese Weise wirkt sich Ihre Arbeit nicht auf das Arbeitsverzeichnis des ursprünglichen Repos aus.

+0

Ich werde den Befehl zu klonen untersuchen. Ich bin immer noch grün um git. – Volomike

0

Einer der Vorteile eines Versionskontrollsystems ist die Möglichkeit, Ihre Änderungen rückgängig zu machen. Mach dir keine Sorgen zu viel darüber.

+0

Außer wenn/var/www (wie der Name schon sagt) eine Produktionsstätte ist. –

+0

Er erwähnte, dass es auf seiner Festplatte installiert ist. Ich hoffe, das ist keine Produktion. –

+0

@ColinHebert, ist es nicht. In diesem Fall ist es mein lokaler Workstation-Webserver. – Volomike

0

Erstellen Sie einen Klon Ihres "wertvollen" Ordners und erstellen Sie dann den Zweig im Klon. Wenn etwas schief geht, kannst du einfach das Original Repo verwenden.

Eigentlich ist das der Kernpunkt der Verwendung eines Versionskontrollsystems, aber manchmal tut es nicht weh, ein bisschen paranoid zu sein.

0

Git ist nicht quecksilberhaltig. Es ist absolut nicht notwendig, dieses Repository erneut zu klonen. Dafür wurden Zweige geschaffen, d. H. Sie geben Ihnen die Möglichkeit, eine Naht zu erstellen, in der Sie isoliert arbeiten können, ohne sich darum sorgen zu müssen, Änderungen an einem anderen Zweig vorzunehmen. Erstelle einfach deinen neuen Zweig und beginne zu hacken und zu committen.

git checkout -b experimental 
// hack hack hack 
git add foo 
git commit -m 'changed foo' 

Nun werden die Dateien in/var/www/lukevan/PA2/po haben sich auf die experimentellen Zweig verändert, sie haben nicht die, die auf dem Master-Zweig verändert. Wenn Sie zurück zum Master wechseln, werden die Dateien entsprechend ihrer Darstellung auf dem Master-Zweig ausgecheckt.

Klonen ist eine teure Operation. Das Erstellen einer Verzweigung ist nur ein Datei-Overhead von 41 Byte und ist super schnell und leicht. Git Regeln, wenn es um die Verzweigung geht. Benutze es ! :)

+0

Gibt es eine Möglichkeit, dies in einem separaten Verzeichnis als meinem wertvollen/var/www/lukevan/po2/po-Ordner zu tun? – Volomike

+0

Ich verstehe nicht, warum Sie einen anderen Ordner benötigen. Die Dateien in Ihrem Arbeitsbaum sind nur eine Ansicht in Ihr Repository. Zweige haben nichts mit Ordnern zu tun, sondern erstellen Sie einfach Ihre Verzweigung und beginnen Sie, sich daran zu binden. Wenn Sie zurück zum Master wechseln, stimmen die Dateien auf der Festplatte mit der Version überein, die sich auf dem Master-Zweig befindet, und die Änderungen, die Sie im Experimentalzweig vorgenommen haben, haben die Dateien auf dem Master nicht geändert. – ralphtheninja

Verwandte Themen