Visual Studio'da Git - mevcut proje eklensin mi?


105

Var olan bir projeyi Git kaynak kontrolü altına koymaya çalışıyorum, ancak birkaç konuda net değilim.

Çevrimiçi bir 'Team Foundation Service' Git hesabı oluşturdum.

Şu anda Projeler klasörümde bir ASP.NET MVC 4 çözümüm var. Yerel olarak bir Git 'deposu' oluşturdum (şu anda boş bir klasör). Bu sadece Projeler'deki mevcut uygulama klasörüm mü olmalı? Yoksa bir kopya olması mı gerekiyor?

Mevcut dosyalarımı çevrimiçi arşive nasıl aktarırım?


"Visual Studio'da Git" den bahsediyorsunuz - Visual Studio 2012'de git araçlarını mı kullanıyorsunuz?
Edward Thomson

Bunun artık 2015 sürümüne Team Explorer altına yerleştirildiğine inanıyorum. Buna rastladım, burada 'Yayınlayamadım (ve
init'ten

Yanıtlar:


148

Benzer bir soruyu araştırmaya başladım - mevcut bir proje dosyası için bir Git deposunu başlatmayı başardığım yöntem şudur (sorumluluk reddi: bu, bir Team Foundation Server kurulumu olmadan Visual Studio 2013 Express'te yapılır):

  1. Projeyi Visual Studio'da açın.
  2. DosyaKaynak Kontrolüne Ekle menüsüne gidin .

Bu benim için yaptı - Git'in sizin için ayarlandığını varsayarak, GörünümTakım Gezgini menüsüne gidebilir , ardından proje dosyanızın havuzunu çift tıklayabilir ve ilk taahhüdünüzü yapabilirsiniz (istediğiniz dosyaları eklediğinizden emin olarak) ).


7
Visual Studio sizin için bu ayrıntıyla ilgileneceğinden, bu sizi "makul bir .gitignore dosyası sağlama" zahmetinden kurtaracaktır. Manuel git init ve bunun arasında, bundan sonra tercih ettiğim yöntem bu.
MrCC

Bu yeni çözümün içine girdiği Projeyi seçmek istiyorsanız, Eşitle düğmesine tıklayabilir - ardından git deposuna yayınla'ya tıklayabilir, ardından gelişmiş çözüme tıklayabilir ve bu yeni çözümü eklemek istediğiniz Projeyi seçebilirsiniz. bunu yaptıktan sonra senkronize edip patlama yapabilirsiniz
Jamisco

Not: Bu benim için işe yaramadı çünkü başka bir depoda bulunan paylaşılan bir kitaplığı zaten eklemiştim. 'Kaynak Kontrolüne Ekle' seçeneği kullanılabilir hale gelmeden önce paylaşılan projeyi kaldırmak zorunda kaldım.
Neil B

2
Bunu Takım Gezgini penceresine eklemeleri gerekir.
thReality

66
  1. Öncelikle, yerel geliştirme makinenize Git yazılımını kurmanız gerekir, örneğin Git Uzantıları .
  2. Ardından git initçözüm klasöründe yapın. Depo klasörü oluşturmanın uygun yolu budur.
  3. Makul bir .gitignoredosya oluşturun, böylece gereksiz şeyler yapmazsınız.
  4. git add
  5. git commit
  6. Team Foundation Server hesabınızda açıklandığı şekilde uygun uzaktan kumandayı ekleyin git remote add origin <proper URL>
  7. git push senin kodun

Alternatif olarak, burada Visual Studio entegrasyonunu kullanan ayrıntılı kılavuzlar vardır .


Bu harika çalıştı, teşekkürler Klas! Bir not: Çalışması için url'nizin tırnak içinde olması gerekir.
Jack Fairfield

NB: Git Uzantıları için Yeni URL: visualstudiogallery.msdn.microsoft.com/…
JohnLBevan

@JohnLBevan bu uzantı eski bir sürüme işaret ediyor gibi görünüyor
Klas Mellbourn

bağlantılar bozuk

@PaulScharnofske söylediğin için teşekkürler. Onları şimdi düzelttim
Klas Mellbourn

15

Visual Studio'da dolaştıktan sonra sonunda olması gerekenden çok daha uzun süren cevabı buldum.

Mevcut bir projeyi kaynak kontrolü olmadan alıp mevcut bir BOŞ (bu önemlidir) GitHub deposuna koymak için, işlem basit, ancak zordur, çünkü ilk eğiliminiz Takım Gezgini'ni kullanmaktır, bu yanlış ve nedeni de budur. problemlerin var.

İlk önce, kaynak kontrolüne ekleyin. Yukarıda bunun bazı açıklamaları var ve herkes bu kadar ileri gidiyor.

Şimdi, bu boş bir YEREL depo açar ve kimsenin size söylemediği püf noktası, Takım Gezgini'ni tamamen yok saymak ve Çözüm Gezgini'ne gitmek, çözüme sağ tıklayın ve Tamam'a tıklayın.

Bu, daha sonra mevcut çözümünüz ile yerel depo arasındaki tüm farklılıkları yerine getirir, temelde tüm bu yeni dosyalarla günceller. Varsayılan bir commit adı olan 'ilk dosyalar' veya teknenizi ve commit'i ne olursa olsun verin.

Ardından bir sonraki ekranda Eşitle'yi tıklayın ve BOŞ GitHub veri havuzu URL'sini bırakın. Boş olduğundan emin olun, yoksa ana dal çakışmaları yaşarsınız ve bu size izin vermez. Öyleyse ya yeni bir depo kullanın ya da daha önce bozduğunuz eski depoyu silin. Bunun Visual Studio 2013 olduğunu, dolayısıyla kilometrenizin değişiklik gösterebileceğini unutmayın.


14

Çözümünüze sağ tıklayın ve Kaynak kontrolüne ekle'yi seçin . Ardından Git'i seçin.

Artık projeleriniz yerel bir kaynak kontrolüne eklendi. Sağ dosyalarınızın birine tıklayın ve seçin Commit .

Ardından bir kaydetme mesajı girin ve Kaydet'i seçin . Ardından projenizi GitHub ile senkronize etmek için Eşitle'yi seçin . Bir Git deposuna sahip olmayı gerektirir. GitHub'a gidin, yeni bir depo oluşturun, depo bağlantısını kopyalayın ve uzak kaynak kontrol sunucunuza ekleyin. Yayınla'yı seçin .

Bu kadar.


Bu cevap doğrudur ve VS 2015'te işe yarar. Ancak bunun yeni bir git kullanıcısı olmasıyla ilgili büyük bir sorum vardı. VS 2015, bir gitignore dosyası oluşturmamış gibi görünmüyordu veya VS tarafından oluşturulan ve iade edilmemesi gereken dll'leri / dosyaları yok saymak için herhangi bir yol sunmadı. Örneğin obj klasörü gibi ve her şeyi yerel depolara kaydetmeye çalışıyor. Bu sorunu yaşayan başka biri var mı? Bütün bunların yerel olarak yapılmasını istemiyorum.
Matt

Daha fazla bilgi edindikçe yukarıdaki yorumumu düzelteceğim. Dizini kontrol ettiğimde aslında gitignore dosyasını oluşturdu ki bu harika çünkü çok büyük ve bunu manuel olarak oluşturmayı denemekten nefret ediyorum. Bununla birlikte, yerel depoya ilk taahhüdümü yapmaya çalıştığımda, VS bu gitignore dosyasını kullanmadı çünkü tüm dosyalar git'e kaydedilebilirdi ve bu büyük bir karışıklıktı. Bu yüzden çözümü kapattım, çözümümdeki .git klasörünü ve 2 git dosyasını sildim (git'ten kopar), yeniden açtım ve file-> kaynak kontrolüne ekle'ye gittim ve tekrar git'i seçtim. Bu sefer harika çalıştı.
Matt

Şimdi Aralık 2019 ve daha da kolay. Yukarıdaki adımları uygulayıp Eşitle'yi tıkladıktan sonra GitHub hesabımı ve bunu özel bir depo yapmak isteyip istemediğimi sordu. Seçildikten sonra, yeni depo benim için oluşturuldu (GitHub'a gitmeme gerek kalmadan) ve başarıyla oluşturuldu.
batpox

5

SourceTree kullanarak :

Solution Explorer'da çözüm adına sağ tıklayın. "Kaynak Kontrolüne Ekle" yi seçin .

Ardından SourceTree'ye gidin ve Clone / New'i seçin . Çalışma Klasörü Ekle'yi seçin ve çözümünüzün içinde oluşturduğunuz yeni Git yerini işaret edin.

Git ve boş bir Git (Bitbucket veya GitHub) için klon adresini alın ve SourceTree'ye geri dönün, Uzaktan Kumandalar'a sağ tıklayın ve Yeni Uzaktan Kumanda ekleyin . (Modern sürümlerde, DepolarUzak Ekle ... 'ye gidin . URL'nizi bu kutuya yapıştırın ve tıklayın OK.

İlk taahhüdünüzü bu şekilde yapabilir ve zorlayabilirsiniz.


5

En kolay yol, açıkça Kodunuzu Visual Studio 2017 ve VSTS Git ile paylaşın MSDN makalesinde açıklandığı gibidir .

  1. Visual Studio'nun sağ alt köşesindeki durum çubuğunda Kaynak Denetime Ekle'yi seçerek projeniz için yeni bir yerel Git deposu oluşturun . Bu, çözümün bulunduğu klasörde yeni bir depo oluşturacak ve kodunuzu bu havuza işleyecektir.

    Buraya resim açıklamasını girin

  2. Takım Gezgini'ndeki Push görünümünde, Visual Studio Team Services'a Gönder seçeneğinin altındaki Git Deposu Yayınla düğmesini seçin.

    Buraya resim açıklamasını girin

  3. Uzaktan Kaynak Kontrolünü bağlayın ve depo adınızı girin ve Depoyu Yayınla'yı seçin .

    Buraya resim açıklamasını girin


3

Visual Studio 2015'te nihayet çalışmasını sağlamamın tek yolu git initkomut satırını kullanarak dizinimin kökünden çalıştırmaktı . Sonra Team Explorer'a girdim ve yerel bir git deposu ekledim. Sonra o yerel git deposunu seçtim, Ayarlar-> Depo Ayarları'na gittim ve Uzak Depomu ekledim. Sonunda var olan projemi git ile kullanmak için Visual Studio'yu bu şekilde entegre edebildim.

Tüm cevapları okudum ama hiçbiri benim için işe yaramadı. Temelde aynısını yapması gereken Dosya-> Kaynağa Ekle Denetimine gittim git init, ancak projemi başlatmıyor gibiydi çünkü daha sonra Takım Gezgini'ne gideceğimde tüm seçenekler grileşmişti. Ayrıca Değişiklikler iletişim kutusunda hiçbir şey görünmez. Başka bir cevap, Team Explorer'da yerel bir repo oluşturmam gerektiğini ve ardından değişikliklerimin görüneceğini, ancak bu da işe yaramadığını belirtti. Team Explorer'daki tüm Git seçenekleri, yalnızca projemi komut satırından başlattıktan sonra çalıştı.

Visual Studio'da yeniyim, bu yüzden bariz bir şeyi kaçırıp kaçırmadığımı bilmiyorum, ancak projem Visual Studio'dan başlatılmıyor gibi görünüyor.


"Dosya -> Kaynak Kontrolüne Ekle" yi seçtikten sonra, Çıktı penceresinde "Kaynak Kontrolü - Git" bölmesi için herhangi bir şey var mı? Değişiklikler sayfasında bir şey beklemem, ancak Git deposunun geçmişini görüntülediyseniz, dosyaların depoya kaydedildiği "Proje dosyalarını ekle" işlemini göstermesini beklerdim.
jamill

Bu, Kaynak Kontrol Gezgini ile aynı mı? Eğer öyleyse, hiçbir şey göstermez. Yalnızca bir kaynak kontrol eklentisi eklemek için bir bağlantı görüntüler. Tıkladığımda ve Git'i seçtiğimde hiçbir şey olmuyor. Team Explorer'daki diğer panellere gelince, hiçbir şey de olmuyor. Ancak projeyi komut satırından başlattıktan ve ardından Bağlantılar bölmesinden yerel bir depo oluşturduktan sonra VS Git araçlarının projemle etkileşime girdiğini görmeye başladım.
chavab_1

2

Önce istenen göreceli yolla bir 'Çözüm Klasörü' oluşturun. Visual Studio 2012'nin aynı göreceli yola sahip bir sistem klasörü oluşturmadığını unutmayın.

Şimdi bu 'Çözüm Klasörü'nün içine yeni bir proje ekleyin, ancak onu tanımlarken sistemdeki göreceli yolun yeni' Çözüm Klasörünüzün göreli yoluna uyduğuna dikkat etmelisiniz. İstediğiniz sistem klasörü yoksa, Visual Studio 2012 şimdi yeni proje için onu oluşturacaktır. (Yukarıda belirtildiği gibi, yeni bir 'Çözüm Klasörü' eklediğinizde bunu yapmaz.)

Eşleşen göreli yola sahip mevcut bir dosyayı eklemek istiyorsanız, önce dosyayı Visual Studio dışından eşleşen sistem göreli yolunda oluşturmanız gerekir. Ardından , Visual Studio'da mevcut dosyayı ekleyebilirsiniz .


1

İstenen depo zaten varsa (belki GitHub'da), yerel sisteminize klonlayabilir ve ardından çözüm dizinini içine kopyalayabilirsiniz. Ardından dosyaları ekleyin, dosyaları kesin ve yerel. Bu, çözümü bir depoya koydu.


1

Visual Studio'da Git - mevcut projeyi ekleyin ; yerel deponuzu GitHub, GitLab veya benzeri bir projede nasıl yayınlayacağınız.

Yani, bir çözüm oluşturdunuz ve bunun bir yerde Git hesabınız üzerinden yüklenmesini ve sürüm denetleyicisini istiyorsunuz. Visual Studio 2015, bunun için Takım Gezgini'nde araçlara sahiptir.

Meuep'in bahsettiği gibi, çözümünüzü yükleyin ve ardından File >> gidin Add to Source Control. Bu eşdeğerdir git init. O zaman şuna sahip olacaksın:

Takım Gezgini Ana Sayfası

Şimdi, Settings >> öğesini seçin Repository Settingsve Uzaktan Kumandalar'a gidin .

Buraya resim açıklamasını girin

Kurun origin(bu ayrılmış adı oraya koyduğunuzdan emin olun) ve URI'leri ayarlayın.

Sonra kullanabilir Add, Syncve Publish.



0

GitHub'dan mevcut bir projeyi açmak istiyorsanız, aşağıdakileri yapmanız gerekir (bunlar yalnızca Visual Studio 2013 içindir !!!! Ve daha yeni, eski sürümlerde olduğu gibi yerleşik Git kurulumu yoktur):

  1. Takım gezgini → Takım projelerine bağlan → Yerel Git Depoları → Klonla .

  2. GitHub adresinizi tarayıcıdan kopyalayın / yapıştırın.

  3. Bu proje için yerel bir yol seçin.


0

Benim için bir Git deposu (GitHub değil) zaten oluşturulmuş, ancak boş. Mevcut projeyi Git deposuna eklemek için benim çözümüm buydu:

  1. Git Extensions ile bir depoyu klonladım ve kontrol ettim.
  2. Daha sonra mevcut proje dosyalarımı bu depoya kopyaladım.
  3. Bir .gitignoredosya eklendi .
  4. Tüm dosyaları hazırladı ve işledi.
  5. Uzak depoya itildi.

Tüm bunların Git Uzantıları gibi araçlar olmadan doğrudan Visual Studio 2015'te yapıldığını görmek ilginç olurdu, ancak Visual Studio'da denediğim şeyler işe yaramadı ( Projem için kaynağa ekle denetimi mevcut değil, uzaktan kumanda eklenmedi yardım, vb.).


0

Bir çözüme proje eklemek için, Takım Gezgini penceresini açmanız ve Değişiklikler'e gitmeniz yeterlidir. Ardından, İzlenmeyen Dosyalar altında, Görünüm seçeneklerine tıklayın ve Ağaç Görünümüne Geç'i seçin (zaten ağaç görünümünde değilse), proje kök klasörüne sağ tıklayın ve Ekle'yi seçin .

Buraya resim açıklamasını girin


0

Bunu her zaman unutuyorum, bu yüzden bu kendim için daha fazla ama belki VS'yi kullanan başka birine yardımcı olabilir.

Visual Studio, Çözümler kavramına sahiptir. Git'te ise, yerel ve uzak şubeler tarafından izlenen bir git deposu konseptine sahiptir. Git'e eklenen tüm dosyalar ve klasörler yereldir.

Şimdi Visual Studio Çözümlerine geri dönersek, standart bir şablon projesi oluşturduğunuzda, tüm projeleri bu çözüme yerel olarak oluşturur.

Dolayısıyla, çözüme veya bu konu için git'e yerel olmayan bir proje eklediğinizde sorun ortaya çıkar. Olan şey şudur: .sln çözüm dosyası proje konumu ile güncellenir, ancak projenin gerçek içeriği, proje dosyaları ve klasörler ayrı bir dizinde veya ayrı bir ağ sürücüsünde veya bir ftp sunucusunda oldukları için git'e eklenemez. etc .... Bu, yalnızca .sln dosyasında derlenen bir proje dosyasına referans istiyorsanız veya bunları git veya github depolarını ayırmak istiyorsanız tercih edilebilir. Ancak gerçek dosyaların yerel olarak git tarafından izlenmesini istemezsiniz.

Bunu düzeltmek için (yani, onları git deponuza eklemek istiyorsunuz), ilgilenilen uzak dosyaları çözümün ve proje dosyalarının kapsamına yerel olacak şekilde taşıyın.


0

Visual Studio 2015'te bunu nasıl yapacağınız aşağıda açıklanmıştır.

  1. Projeyi açın ve Araçlar >> Seçenekler >> "Kaynak Kontrolü" sekmesine gidin ve kaynak kontrolünüz olarak "Git" i seçin. görüntü açıklamasını buraya girin

  2. Dosya Menüsüne gidin ve "Kaynak kontrolüne ekle" yi seçin.

Bunun yaptığı şey, görsel stüdyo tarafından tüm çan ve ıslıkları yaratan "git init" i yürütmektir (kurulum, kullanıcıya özel dosyaları, geçici dosyaları, dizini vb. Yoksaymak gibi dosyaları buna göre yoksayar).

Esasen git deponuz yerel olarak doğru bir şekilde oluşturuldu (bu, VS projesindeki en önemli adımdır çünkü bu klasör, göz ardı etmek istediğimiz çok sayıda dosya içerir).

Artık bu git deposunu git bash'da (Visual Studio dışında) GitHub, BitBucket vb. Gibi başka bir git'e bağlayabilirsiniz.

Git Bash oturumunu şimdi bu çalışma dizininde başlatıyorum ve BitBucket kullandığım için orada verilen talimatları uyguluyorum (sadece aşağıdaki satırları oradan kopyalayın).

git uzaktan kaynak ekle https: // kullanıcıadınız@bitbucket.org/kullanıcıadınız/hookdemo.git

git push -u kaynak yöneticisi

Bu kadar.

Daha sonra artık düzgün bir şekilde kurulduğundan beri depoyu git komut satırında yönetebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.