SORU
9 ŞUBAT 2011, ÇARŞAMBA


etrafında hareket ederken bilgisayarlar arasında depo sync git,?

Masaüstü bir pc var diyelim ve bir dizüstü bilgisayar, ve bazen masaüstünde çalışıyorum ve bazen dizüstü bilgisayarda çalışıyorum.

Git deposu geri ve ileri taşımak için en kolay yolu nedir?

Git depoları aynı olmak istiyorum. diğer bilgisayarda bıraktığım yerden devam edebilirim böylece.

Bilgisayarların her ikisi de aynı şube ve etiketleri var emin olmak istiyorum.

Teşekkürler Johan

Not: SubVersion ile bunu nasıl biliyorum, ama bu git ile çalışmak nasıl merak ediyorum. Eğer daha kolay ise, iki s pc:bu klasik server olarak üçüncü bir pc sync karşı kullanabilirim.

Not: her İki bilgisayarda Linux çalıştırıyorsunuz.


Güncelleme:

Yani XANİ deneyelim:s sunucusu üzerinde çıplak bir git repo ile fikir, ve push komutu KingCrunch sözdizimi. Bu örnekte, iki müşteri ve bir server var.

Hadi ilk sunucu bölümü oluşturmak.

ssh user@server
mkdir -p ~/git_test/workspace
cd ~/git_test/workspace
git --bare init

O zaman diğer bilgisayarlardan birini klon ile repo bir kopyasını almak için deneyin:

git clone user@server:~/git_test/workspace/
Initialized empty Git repository in /home/user/git_test/repo1/workspace/.git/
warning: You appear to have cloned an empty repository.

O zaman repo gidin ve bir dosya ekleyin:

cd workspace/
echo "test1" > testfile1.txt
git add testfile1.txt
git commit testfile1.txt -m "Added file testfile1.txt"
git push origin master

Şimdi sunucu testfile1.txt ile güncellenir.

Neyse, şimdi Eğer bu başka bir bilgisayardan dosya bulabilecek miyiz.

mkdir -p ~/git_test/repo2
cd ~/git_test/repo2
git clone user@server:~/git_test/workspace/
cd workspace/
git pull

Ve şimdi metin yeni görebiliriz.

Bu noktada biraz daha içerik ile düzenlemek ve sunucu tekrar güncelleme yapabiliriz.

echo "test2" >> testfile1.txt
git add testfile1.txt
git commit -m "Test2"
git push origin master

O zaman biz ilk müşteriyi geri dön ve çek git bir güncelleme dosyasına bakın. Ve şimdi geri ve ileri iki bilgisayar arasında hareket edebiliyorum, ve eğer benim gibi Eğer bir üçüncü ekleyin.

CEVAP
9 ŞUBAT 2011, ÇARŞAMBA


Birden çok yaklaşım vardır sanırım. Sadece bununla nasıl başa çıkacağımı tarif edeceğim

Birden fazla git-depoları tutan 24/7 sunucu olarak bir netbook var. Orada/ve SSH ile değişiklikleri itin. Dışarıdan erişim için dyndns.org kullanıyorum. Özellikle depoları bazı erişim ihtiyacı olan en fazla iki systems, çünkü gayet iyi çalışıyor.

Güncelleme: küçük Bir örnek. Benim netbook denir diyelim"". netbook Bir depo var oluştur

$ ssh username@netbook.local
$ cd ~/git
$ mkdir newThing
$ cd newThing
$ git init --bare

Benim masaüstünde daha bunun bir kopyasını oluşturun. Belki bazı dosyaları da ekleyeceğim

$ git clone username@netbook.local:/home/username/git/newThing
$ git add .
$ git commit -m "Initial"
$ git push origin master

Benim taşınabilir (ilk) ben de aynısını yapacağım, ama uzaktan erişim için (benim LAN dışarıdan), Ayrıca harici bir adres ekleyin.

$ git clone username@netbook.local:/home/username/git/newThing
$ git remote add externalName username@mydyndns.home-ip.org:/home/username/git/newThing
$ git pull externalName master

Sadece yol gıt (iş akışları/git) çalışır. İstediğin kadar uzak depoları ekleyebilirsiniz. Eğer iki veya daha fazla aynı "beden" depoları. başvuruyorsa önemli değil, Eğer bir kendi yerel", herhangi bir ortak kullanabilirsiniz sunucusu, ssh erişimi var." server lazım Ve tabii ki seni sen bana ben sana dışarıdan erişim gerekiyorsa dont ortak bir sunucuda gerekiyor. Çıplak depoyu da masaüstü sistem olabilir ve daha sonra yerel dosya sistemi içinde çalışan kopya bir depo oluşturabilirsiniz.

$ mkdir myRepo; cd myRepo
$ git init --bare
$ cd /path/to/myProject
$ git remote add origin /path/to/myRepo
$ git add .; git commit -m "Initial"; git push origin master

Bu mudur, bu nasıl idare ettim, ve benim için oldukça iyi çalışıyor (eğer mükemmel değil ;))

Bir şeyler okumak için: http://progit.org/ Gerçekten iyi bir kitap.-

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • JayzTwoCents

    JayzTwoCents

    26 AĞUSTOS 2012
  • spyib

    spyib

    9 Ocak 2007
  • XxMinayaxX1

    XxMinayaxX1

    9 Mayıs 2012