Mevcut kaynak kodunu GitHub'a aktar


609

Kaynak kodu bilgisayarımdan GitHub hesabıma nasıl alabilirim?


4
GitHub GUI'yi kullanmanın ve yapılandırmayı çalışma alanınızın köküne yönlendirmenin en kolay yolunu buldum ve "Sabit sürücünüzdeki Repostitories'i Bul" düğmesini tıkladığınızda çalışma alanınızdaki tüm Git yerel depolarını tanımlayacak ve bunları tek tek içe aktarmaya izin verecektir. Kolay.
djangofan

1
@djangofan Hangi github GUI'den bahsediyorsunuz? GUI'ye bir bağlantınız var mı?
Anderson Green


Pete'nin cevabı OS X'te harika çalıştı - GUI kullanmaya gerek yok.
funroll

Yanıtlar:


969

Uzaktan kumandayı 'klonlamadan' yeni bir uzak yeni git deposuna eklemek istediğiniz yerel kaynak kodunuz varsa, aşağıdakileri yapın (bunu sık sık yaparım - uzak boş deponuzu bitbucket / github'da oluşturup yukarı itin kaynağınız)

  1. Uzak deposu oluşturun ve git@github.com:/youruser/somename.gitveya gibi URL'yi alınhttps://github.com/youruser/somename.git

    Yerel GIT deponuz önceden ayarlanmışsa 2. ve 3. adımları atlar


  2. Yerel olarak, kaynağınızın kök dizininde, git init

    2a. Repo'yu bir .gitignore ve README.md ile başlatırsanız, git pull {url from step 1}yoksaymak istediğiniz kaynaklara dosya göndermediğinizden emin olmak için;

  3. Yerel olarak, ilk deponuza istediğinizi ekleyin ve taahhüt edin (her şey için, git add .o zaman git commit -m 'initial commit comment')


  4. uzaktan repo'nuzu 'orijin' adıyla eklemek için (klonlama gibi)
    git remote add origin [URL From Step 1]

  5. git pull origin masterUzak dalı senkronize olacak şekilde çekmek için yürütün .
  6. ana dalınızı yukarı itmek için (ana dalı farklı bir dal için başka bir şeye değiştirin):
    git push origin master

92
Benim için çalıştı. git pull origin masterGit itmeden önce koşmam gerektiğini buldum . Onsuz, itme girişimi sırasında "şu anki dalınızın ucu geride" hatası aldım. Belki de bunun nedeni, bir başlangıç ​​Benioku.md dosyasıyla uzak depoyu oluşturmamdı.
yuvilio

5
SSH protokolünün şifre yazmak yerine ssh özel anahtarlarınızı kullanarak işlem yapabilmesi için repo URL'sini alın.
Snicolas

5
@yuvilio tam da bu yüzden. Eğer github repo'nuzu bir benioku.md dosyası ile oluşturursanız, aslında kökeninizi oluşturmaya çalıştığınız şeyin arkasındasınız demektir.

7
@Snicolas'ın dediği gibi, SSH kullanıyorsanız, git: //github.com/youruser/somename.git yerine git@github.com: kullanıcınız / somename.git kullanın.
tsusanka

5
GitHub, aynı prosedürü yeni bir repo oluşturduktan hemen sonra açıklar. @Yuvilio tarafından daha önce söylendiği gibi, deponuzu bir README ile başlatmamanız gerekir. Bunun yerine, touch README.mdmevcut yerel repo ile devam et
Simone

41

Bu mükemmel ücretsiz eBook ProGit'te açıklanmaktadır . Zaten yerel bir Git deponuz ve uzak bir deponuz olduğunu varsayar. Bunları bağlamak için şunu kullanın:

$ git remote
origin
$ git remote add pb git://github.com/paulboone/ticgit.git
$ git remote -v
origin    git://github.com/schacon/ticgit.git
pb    git://github.com/paulboone/ticgit.git

Verileri yerel depodan GitHub'a aktarmak için şunu kullanın:

$ git push pb master

Henüz yerel ve / veya uzak bir havuz ayarlamadıysanız, GitHub ve kitaptaki önceki bölümlerdeki yardıma bakın .


21

GitHub GUI kullanılarak bahsedilen yorumlardan biri, ancak kullanımı hakkında herhangi bir özel yardım sağlamadı ve tüm cevapların olmasa da çoğunun sadece komut isteminde yararlı olduğunu fark etmedi.

GitHub GUI'yi kullanmak istiyorsanız, aşağıdaki adımları takip edebilirsiniz:

  1. "+" Düğmesini tıklayın ve "Yerel Depo Ekle" yi seçin Resim açıklamasını buraya girin
  2. Mevcut kodunuzun bulunduğu dizine gidin ve "Ekle" düğmesini tıklayın.
  3. Şimdi "Burada yeni bir yerel Git havuzu oluştur" istenir, bu nedenle "Evet" düğmesini tıklayın. Resim açıklamasını buraya girin
  4. "İşlem Özeti" ve "Genişletilmiş açıklama" öğelerini istediğiniz gibi ekleyin. Varsayılan olarak, tüm dosyalarınız zaten onay işaretleriyle seçilmelidir. "Kaydet ve Senkronize Et" düğmesini tıklayın. Resim açıklamasını buraya girin
  5. Şimdi, projenizin adını ve açıklamasını ve hangi hesaba iteceğini (birden çok hesabınız varsa) eklemeniz istenecektir. "Push Repository" düğmesini tıklayın Resim açıklamasını buraya girin

Dönen GitHub simgesiyle bir süre sonra, kaynak kodunuz yerel bir depoya ait olacak ve GitHub hesabınızdaki uzak bir havuzla itilecek / senkronize edilecektir. Tüm bunlar, GitHub GUI'yi, GitHub hesabınızı ve SSH anahtarlarını önceden ayarladığınızı varsayar.


@cfont Bu, yerel depomda zaten var olan uzun geçmişi mi koruyor yoksa sadece büyük bir taahhüt oluşturuyor mu ve tüm geçmişimi kaybettim mi?
theJollySin

1
@ theJollySin, üzgünüm sanırım stackoverflow bildirimlerimin düzgün çalışmasını sağlamak için çalışmalıyım. Bu, mevcut yerel deponuzun geçmişini korumalıdır. TBH, bunu o zaman test etmedim, ancak yerel tarihinizi ezmek için bir neden düşünemiyorum. Aslında, bütün mesele taahhütleri ezmek istemediğiniz sürece bunu korumak olmalıdır.
cfont

12

JB'nin haklı olarak işaret ettiği gibi, GitHub'da sadece talimatları izleyerek inanılmaz derecede kolay.

Aşağıda , oturum açtığınızda http://github.com/new adresini kullanarak GitHub'da yeni bir havuz kurduktan sonra görüntülenen talimatlara bir örnek verilmiştir .

Global setup:

 Set up Git:
  git config --global user.name "Name"
  git config --global user.email email@gmail.com


Next steps:

  mkdir audioscripts
  cd audioscripts
  git init
  touch README
  git add README
  git commit -m 'first commit'
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Existing Git repository?

  cd existing_git_repo
  git remote add origin git@github.com:ktec/audioscripts.git
  git push -u origin master


Importing a Subversion repository?

  Check out the guide for step-by-step instructions.

Daha kolay olamazdı !!



8

Pete'nin adımlarını yapmaya çalışırken birleşme konusunda biraz sorun yaşadım. Bunlar benim bitirdiğim adımlar.

  1. İşlem yapmak .gitistediğiniz proje klasörünün içindeki klasörü silmek için işletim sisteminizi kullanın . Bu size çalışmak için temiz bir sayfa verecektir. Bu aynı zamanda .gitignoreproje klasörü içinde bir dosya yapmak için iyi bir zamandır . Bu, .gitignoregithub.com'da depo oluşturduğunuzda oluşturulan bir kopya olabilir . Bu kopyanın yapılması, github.com deposunu güncellediğinizde silmekten kaçınır.

  2. Git Bash'i açın ve klasörü yeni sildiğiniz klasöre gidin .git.

  3. Koş git init. Bu, içinde bulunduğunuz klasörde yerel bir depo kurar.

  4. Koş git remote add [alias] https://github.com/[gitUserName]/[RepoName].git. [takma ad] istediğiniz herhangi bir şey olabilir. [Takma ad] yerel depoya bağlanır, bu nedenle makine adı bir [takma ad] için iyi çalışır. URL, HTTP | SSH | Git Salt Okunur'lu HTTP düğmesinin tıklandığından emin olmak için üstte github.com adresinde bulunabilir. git://URL benim için çalışmadı.

  5. Koş git pull [alias] master. Bu, yerel deponuzu güncelleyecek ve bazı birleşme çakışmalarını önleyecektir.

  6. Çalıştırmak git add .

  7. Çalıştırmak git commit -m 'first code commit'

  8. Çalıştırmak git push [alias] master


1
-1 Bu sadece "varolan kodu github'a aktar" dan biraz daha fazlasını yapar. tüm depo geçmişini siler!
Michael Durrant


6

Bitbucket'ten:

Mevcut bir havuzu yukarı itin. Bilgisayarınızda zaten bir Git deponuz var. Bitbucket'e doğru itelim:

cd /path/to/my/repo
git remote add origin ssh://git@bitbucket.org/javacat/geo.git
git push -u origin --all   # To push up the repo for the first time

1
fyi, -u --set-upstream ile aynıdır.
AnneTheAgile

4

Buraya GitHub deposuna mevcut kaynak dosyalarını eklemenin basit bir yolunu aramaya geldim. @ Pete'nin mükemmel yanıtını gördüm ve "Ne ?! Daha basit bir yol olmalı" diye düşündüm .

İşte beş adımda daha basit bir yol (konsol eylemi gerekmez!)

Gerçekten aceleniz varsa, sadece 3. adımı okuyabilirsiniz. Diğerleri sadece bütünlük için oradadır.

  1. GitHub web sitesinde bir havuz oluşturun. (Bu adım adım ilerleyerek zekanıza hakaret etmeyeceğim.)
  2. Yeni veri havuzunu yerel olarak klonlayın. (Bunu web sitesi veya masaüstü istemci yazılımı aracılığıyla yapabilirsiniz.)
  3. Sabit sürücünüzde yeni klonlanan depoyu bulun ve normal bir dizine yaptığınız gibi dosya ekleyin.
  4. Değişiklikleri GitHub ile senkronize edin.
  5. Bu kadar!

Bitti!


4

GitHub deposunu uzak kaynak olarak ekleyin ([] yerine URL'nizi koyun):

git remote add origin [git@github.com:...]

Ana dalınıza geçin ve dal geliştirmek için kopyalayın:

git checkout master
git checkout -b develop

Geliştirme kolunuzu GitHub geliştirme koluna itin ( -fkuvvet anlamına gelir):

git push -f origin develop:develop

3

Aslında, GitHub'da boş bir repo oluşturmayı seçerseniz, neredeyse (şu anda) terminalinize kopyalayıp yapıştırabileceğiniz konusunda tam talimatlar verir:

…or create a new repository on the command line

echo "# ..." >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin git@github.com:<user>/<repo>.git
git push -u origin master

2

Burada bir GitHub havuzunun nasıl başlatılacağı ve daha önce oluşturduğunuz kodun nasıl aktarılacağı ile ilgili bazı talimatlar verilmiştir. İlk talimatlar doğrudan GitHub'dan alınmıştır.

Kaynak: https://help.github.com/articles/create-a-repo/

  1. Herhangi bir sayfanın sağ üst köşesinde, öğesini ve ardından Yeni depo öğesini tıklayın .

  2. Deponuz için kısa, unutulmaz bir ad oluşturun. Örneğin, "merhaba dünya".

  3. İsteğe bağlı olarak, deponuzun bir açıklamasını ekleyin. Örneğin, "GitHub'daki ilk depom."

  4. Herkese açık veya özel havuz oluşturma arasında seçim yapın.

  5. Bu havuzu bir README ile başlatın.

  6. Havuz oluşturun.

Tebrikler! İlk deponuzu başarıyla oluşturdunuz ve bir README dosyasıyla başlattınız.

Şimdi bu adımlardan sonra, yerel bilgisayarınızdaki kodu az önce oluşturduğunuz depoya göndermek istersiniz ve bunu şu adımları izleyerek yaparsınız:

  1. git init (kodunuzun bulunduğu kök klasörde)

  2. git add -A (bu işlem dizininizdeki tüm dosya ve klasörlerin eklenmesini sağlayacaktır)

  3. git commit -am "First Project commit"

  4. git remote add origin git@github.com:YourGithubName/your-repo-name.git (bu adresi ana sayfada "ssh klon URL'si" altında yeni oluşturduğunuz GitHub deposunda bulabilirsiniz)

  5. git push -u origin master

Bu kadar. Kodunuz şimdi GitHub'a aktarılacak. Şimdi her zaman değişti kod itmeye devam etmek istiyorum sadece yapmak.

  1. git commit -m "New changes"

  2. git push origin master (eğer master çalıştığınız dalsa)


1

Benim için çözüm:

Sorun 100M'yi geçemeyen bir dosyanın boyutudur.

Github'a geçmeden önce, depoda bunu yapın:

git clone --mirror git://example.com/some-big-repo.git

wget http://repo1.maven.org/maven2/com/madgag/bfg/1.12.12/bfg-1.12.12.jar

mv bfg-1.12.12.jar bfg.jar

java -jar bfg.jar --strip-blobs-bigger-than 100M some-big-repo.git

cd some-big-repo.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

git push

Hazır!

Şimdi taşıma işlemini araçla tekrar yapın : https://github.com/new/import

Daha fazlasını görmek: Github repo ve https://rtyley.github.io/bfg-repo-cleaner/

Umarım sana yardım edebilmişimdir. :)


0

Deponuzu git hub'da oluşturun

Projenizi GIT ile takip etmenize izin verin

  1. CMD kullanarak proje dosyanızın tutulduğu klasöre gidin-> cd / automation / xyz / codebase git durumu komutuyla git intialization olup olmadığını kontrol edin Bu hata iletisini alırsanız: ölümcül: Git deposu değil (veya üst dizinlerden herhangi biri): .git, şu anda bulunduğunuz klasörün git tarafından izlenmediği anlamına gelir. Bu durumda, git init yazıp ardından projenizi ekleme ve işleme koyma işleminden geçerek proje klasörünüzdeki git'i başlatın.

Başka bir hata mesajı alırsanız, söylediklerini dikkatlice okuyun. 'Git' kelimesinin tanınmadığını söyleyerek git'in bilgisayarınızda yüklü olmadığını mı söylüyor? Git'in başlatıldığı bir klasörde veya alt klasörde olduğunuzu mu söylüyor? Google, hatanızı ve / veya çıktınızı anlamak ve nasıl düzeltileceğini bulmak için.

şimdi aşağıdaki komutu çalıştır

#

echo "git hub depo adınız" >> README.md git init git add README.md git commit -m "ilk kaydetme" git uzaktan kökeni ekle https: // #

yukarıdaki blok deponuzu ilk açtığınızda alacaksınız

Son komuttan sonra hata oluşursa veya hiçbir şey olmazsa "git push -u origin master" endişelenmeyin

kodun bulunduğu klasöre gidin ve git genişletme yoluyla git [URL], şube

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.