Mevcut projeyi Github'a aktarın


224

Proje kaynaklarımla bir klasörüm var. Bu projeyi Github'un deposuna nasıl aktarabilirim?

Bu adımları kullanmayı denedim:

  1. GitHub'da boş depo oluşturdum.
  2. Git-bash'ı çalıştırdım ve yazdım git init, böylece proje kökü ortaya çıktı.git klasör .
  3. Sürüm kontrolüne kullanarak bazı dosyalar ekledim git add sourcesFolderName
  4. Kullanarak önceki adımda eklenen dosyaları taahhüt ettim git commit -m "initial commit"
  5. Kullanarak uzak depoyu belirttim git remote add MyProject <url>
  6. Son olarak git push, ancak hiçbir şey uzaktan raporlamaya zorlanmaz ... (yetkilendirme hatası yok)

Peki mevcut kaynakları yeni oluşturulan github repolarına nasıl aktarabilirim?


4
Çıktısı tam olarak neydi git push?
1615903

1
@ user1615903 Eminim yanlış adımlar dizim var. Sanırım böyle bir şeye ihtiyacım var git clone. Ben çıktı hatırlamıyorum git push, ama bence önemli değil. Çünkü başka bir yerde problem
MyTitle

Yaptın mı git push MyProject master?
Felix Kling

Bu blog gönderisi, bu görevi yapmak isteyen herkese yardımcı olabilir. Tüm adımlar basit ve ayrıntılı olarak açıklanmıştır. samranga.blogspot.com/2015/07/…
Samitha Chathuranga

1
Küçük bir tavsiye, SourceTree uygulamasını kullanmaya çalışın. UI çok güzel.
Mohammad Fareed

Yanıtlar:


341
git init
git add .
git commit -m "Initial commit"
git remote add origin <project url>
git push -f origin master

Açık -fseçeneği git pushitmeyi zorlar. Kullanmazsanız, şöyle bir hata görürsünüz:

To git@github.com:roseperrone/project.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:roseperrone/project.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first merge the remote changes (e.g.,
hint: 'git pull') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

5
Bu sorunumu sabit ama komutunu 4 yapamadı git remote add origin <project url>diyerek command syntax not correct. Bunu görmezden geldim ve işe yaradı
Khalil Khalaf

4
Sadece bir yan not, GitHub web sitesini kullanmanız gerekmiyorsa, üçüncü adımdan sonra bunu ekleyebilirsiniz: curl -u 'USER' https://api.github.com/user/repos -d '{"name":"REPO"}'USER yerine kullanıcı adınızı ve REPO'yu oluşturulacak havuzun adıyla değiştirin.
MD XF

1
Ayrıca, artık sadece yapamayacağınızı düşünüyorum git add ., bunu cat "# reponamehere" >README.mdve sonra değiştirmelisiniz git add README.md. GitHub belgeleri bunu böyle söylüyor
MD XF

2
-fBayrağın uzak tarihin kaybolmasını zorlayacağına inanıyorum ? Tehlikeli bir operatör gibi görünüyor.
van abel

112

Daha az teknik açıdan

Cevabım farklı değil ama daha fazla bilgi ekliyorum çünkü yeni olanlar bilgi boşluklarını doldurmaktan fayda sağlayabilirler.

Github'da repo oluşturduktan sonra talimatlar var. Bunları takip edebilirsiniz. Ama işte bazı ek ipuçları çünkü git'i kullanmaya başlamanın ne kadar sinir bozucu olduğunu biliyorum.

Diyelim ki projenizi yerel olarak zaten başlattınız. Ne kadarına sahip olduğunuz önemli değil. Ama bir php projeniz olduğunu varsayalım. Diyelim ki index.php, contact.php ve resimler, css ve yazı tipleri içeren bir varlıklar klasörü var. Bunu bu şekilde yapabilirsiniz (kolay), ancak birçok seçenek var:

seçenek 1

Github hesabınıza giriş yapın ve repoyu oluşturun.

resim açıklamasını buraya girin

Aşağıdaki ekranda, "masaüstünde klonlama" düğmesine (ekranın sağ tarafına) tıklarsanız ihtiyacınız olan yere kopyalayabilirsiniz.

resim açıklamasını buraya girin

Daha sonra mevcut projenizdeki içerikleri yeni deponuza kopyalayabilirsiniz (veya başka bir yolla). Github uygulamasını kullanarak, GUI'lerini kullanarak oradan taahhütte bulunabilirsiniz (bu, uygulamadaki düğmeleri tıklamanız anlamına gelir). Elbette taahhüt için notlarınızı giriyorsunuz.

seçenek 2

  • Yukarıda belirtildiği gibi github üzerinde repo oluşturun.
  • Bilgisayarınızda terminali kullanarak dizininize gidin. linux komut satırını kullanarak dizine cd yazabilirsiniz. Buradan mevcut projenizi github'daki repoma "bağlamak" için aşağıdaki komutları çalıştırırsın. (Bu, deponuzu github'da oluşturduğunuzu ve şu anda boş olduğunu varsayar)

önce git'i başlatmak için bunu yapın (sürüm kontrolü).

git init

daha sonra "izlenecek" dosyalarınızı eklemek için bunu yapın. Göz ardı edilmesini istediğiniz dosyalarınız varsa, bir .gitignorebasitlik eklemek için bir eklemeniz gerekir , sadece öğrenmek için bu örneği kullanın.

git add .

Sonra ""benzer "ilk taahhüt" vb arasında bir not ekleyin ve ekleyin .

 git commit -m "Initial Commit"

Şimdi, burada mevcut deponuzu eklediğiniz yer

git remote add github <project url>

Ancak tam olarak yazmayın <project url>, ancak kendi proje URL'nizi yazın. Bunu nasıl elde edersiniz? Repo'nuzun github'da olduğu bağlantıya gidin, ardından bağlantıyı kopyalayın. Benim durumumda, depolarımdan biri https://github.com/JGallardo/urbanhistorical bu komut için benim çıkan url sadece eklersiniz böylece .git bundan sonra. İşte burada

git remote add github https://github.com/JGallardo/urbanhistorical.git

Yaparak işe yaradığını görmek için test edin

git remote -v

Repo'nuzun neyle bağlantılı olduğunu görmelisiniz.

resim açıklamasını buraya girin

Sonra değişikliklerinizi github'a gönderebilirsiniz

git push github master

veya

git push origin master

Hala bir hata alıyorsanız, zorlayabilirsiniz -f. Ancak bir ekip ortamında çalışıyorsanız, zorlamamaya dikkat edin veya daha fazla sorun yaratabilirsiniz.

git push -f origin master

3
Seninki en iyi açıklama. Bunu okuyan diğerleri için: İlk önce github'da veri havuzumu oluşturdum, bu yüzden itmeme izin vermedi. Ben github <proje url> çekin ve sonra github itmek zorunda kaldı. Ondan sonra her şey yolundaydı.
Philologon

1
Bunun için çok teşekkürler! Seçenek 1, diğer tüm seçenekler başarısız olduktan sonra hayatımı kurtardı! : D
Sara Inés Calderón

2
Harika bir açıklama! Ancak ben aşağıdaki satırları eklemek istiyorum: git remote add origin <proje url> ve sonra git push -f origin master. -F olmadan bir hata olacak
Javiar Sandra

1
lütfen -f seçeneğini son komuta ekleyin, bu şekilde cevabınız en iyisi olacak
Jacobo Koenig

1
Bu gerçekten yardımcı oldu! Yanlışlıkla bir README ile github deposunu başlattım, o zaman işe yaramadı. Boş bir repo ile tekrar yaptım ve işe yaradı.
Verena Haunschmid

36

iterken hangi dalı ve hangi uzaktan kumandayı belirtmeniz gerekir :

➤ git init ./
➤ git add Readme.md
➤ git commit -m "Initial Commit"
➤ git remote add github <project url>
➤ git push github master

Beklendiği gibi çalışacaktır.

Bunu varsayılan olarak şunları yaparak ayarlayabilirsiniz:

➤ git branch -u github/master master

git pushuzaktan kumandayı veya dalı belirtmeden bir master'dan yapmanızı sağlar .


1
Doğru. /masterGereksiz olduğu için parçayı da atlayabilirsiniz .
Gabriele Petronella

1
"git add Readme.md" doğru değil. Zaten mevcutsa, eklemeye gerek yoktur. Eğer mevcut değilse, komut başarısız olur. Her iki durumda da, bu doğru değil.
Mitch

1
@Mitch, aniden bilgisayarınızın istediğinizi yapmasını sağlayacak gizli bir büyülü çağrı değil. İnsanlara ve ne yapmaları gerektiği hakkında fikir vermek için bir örnek. İnsanların makinelerine yazdıkları komutları anlamalarını bekliyorum.
brice

9

Mac kullanıyorsanız (ve bu muhtemelen bir PC'de de aynı şekilde çalışıyorsa), bunu yapmanın çok kolay bir yolu. Garip bir şekilde bu basit süreç için yüksek ve alçak baktım ve asla bulamadım.

  • Github'da herhangi bir şey (hesap sahibi olmak ve mevcut tüm depolarınızı tüketmemek dışında) yapmayın.
  • Mac için GitHub'ı indirin ve yükleyin. Hesap kurulumunu vb. Gözden geçirin. Mevcut projeniz için herhangi bir depo OLUŞTURMAYIN.
  • Depolarda "Yeni Yerel Depo Ekle".
  • Mevcut klasörünüzü seçin. Bunu yapmak isteyip istemediğinizi soracaktır, evet de.
  • Tamamlandığında, tüm dosyalarınızın bir listesini görürsünüz, vb.
  • Depolar ve Yayınla'ya gidin (bu, hesabınızı doğru şekilde ayarladıysanız GitHub'da yeni repo'yu oluşturur).
  • Depolar ve Push'a gidin (ya da "itilecek hiçbir şey" olmadığını görürsünüz ya da dosyalarınızı / değişikliklerinizi yeni otomatik repoya gönderir).
    • Bu basit işlemi neden başka hiçbir yerde bulamadığınızı merak edin.

Proje klasörünün repo klasörü olarak kullanılması önerilmez. Her zaman yaparım, her zaman işe yarar, basitleştirir ve onunla hiçbir sorunum olmaz.


GitHub uygulaması bir kullanıcının bu şekilde yapmasına izin veriyorsa, o zaman iyi olmalı.
johnnieb


5

Rose P'nin önceki yorumunu takip edeceğim, çözümü bulmak uzun zamanımı aldı, bu yüzden benim için neyin işe yaradığını (umarım düz İngilizce) yeniden yayınlıyorum ...

1. adım: Yeni deponuzu Github.com'da oluşturun (zaten varsa atlayın)

2. adım: XCode'u kapatın ... gerekli değil

Adım 3: Yeni bir Terminal penceresi açın (evet, terminali kullanmalısınız ... Diğer tüm yolları denedim ... hiçbir şey işe yaramadı)

4. adım: cd komutunu kullanma Projenize klasör konumunuzu (mevcut veya yeni deponuza eklemek istediğiniz proje) bulmak için

Adım 5: Git init yazın, böyle bir şey alırsınız. / {Current directory} içindeki mevcut Git deposunu yeniden başlattı

Adım 6: Git add yazın. bu adımdan sonra hiçbir şey olmaz, ancak yazın ve bir sonraki adıma geçin.

adim 7: git commit -m "Başlangıç ​​taahhüdü" yazın aşağıdakileri elde edersiniz: # Şube üzerinde işlem yapacak hiçbir şey yok, çalışma dizini temiz

veya

yapılandırma hakkında bazı açıklamalar ve sonra değişen dosyaların listesi.

8. adım: git remote add origin ekle {project url} yazın Proje url'si Github.com adresinde bulunabilir. Bu HTTPS klon URL'si ... sadece terminal penceresine kopyalayıp yapıştırabilmeniz gerekir. Sistem size başlangıç ​​noktasının zaten mevcut olduğunu söylüyorsa, farklı bir ad oluşturun veya proje adınızı kullanın (farklı bir şey)

9. adım: Mac'inizdeki GitHub uygulamanıza gidin ve "Şube Senkronizasyonu" düğmesini tıklayın (bekleyen değişiklik olmasa bile). Biraz uğraşmasını düşünüyorum, ancak yerel depo klasörünüze geri dönerseniz yeni projenizi görmelisiniz. Ana klasörü yeniden oluşturmak zorunda kaldım, ancak bu sadece dosyalarınızı hareket ettirmeyle ilgili. GitHub.com'a gidin ve tarayıcınızı yenileyin; yeni dosyalarınız da orada olmalıdır.

Umarım bu yardımcı olur.


5
Follow below gitbash commands to push the folder files on github repository :-
1.) $ git init
2.) $ git cd D:\FileFolderName
3.) $ git status
4.) If needed to switch the git branch, use this command : 
    $ git checkout -b DesiredBranch
5.) $ git add .
6.) $ git commit -m "added a new folder"
7.) $ git push -f https://github.com/username/MyTestApp.git TestBranch
    (i.e git push origin branch)

4
git init

Dosyaları yeni yerel deponuza ekleyin. Bu onları ilk taahhüt için aşamalandırır.

git add .

Dosyaları yerel depoya ekler ve bunları kaydedilmek üzere hazırlar. Bir dosyayı ayıklamak için 'git reset HEAD YOUR-FILE' dosyasını kullanın.

Yerel deponuzda hazırladığınız dosyaları teslim edin.

git commit -m "First commit"
# Commits the tracked changes and prepares them to be pushed to a remote

deposu. Bu taahhüdü kaldırmak ve dosyayı değiştirmek için 'git reset --soft HEAD ~ 1' kullanın ve dosyayı tekrar ekleyin ve ekleyin. Uzak depo URL'sini kopyala GitHub deponuzun Hızlı Kurulum sayfasının en üstünde, uzak depo URL'sini kopyalamak için tıklayın.

Komut isteminde, yerel deponuzun gönderileceği uzak deponun URL'sini ekleyin.

git remote add origin remote repository URL
# Sets the new remote
git remote -v
# Verifies the new remote URL

Yerel deponuzdaki değişiklikleri GitHub'a aktarın.

git push origin master
# Pushes the changes in your local repository up to the remote repository you 

başlangıç ​​noktası olarak belirtildi


4
  1. Komut satırından yerel depo dizininize gidin.
  2. GitHub'da yeni bir havuz oluşturun, size bir bağlantı biter .git.
  3. cmd koşusunda: git remote add origin [your_GitHub_Repository_link](bağlantının bitmesi gerektiğini unutmayın .git)
  4. o zaman koş : git push -u origin master

Umarım faydalı olmuştur.


4

Yeni bir havuz oluştur

git clone <url>
cd "repositoryName"
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Mevcut klasör

cd existing_folder
git init
git remote add origin <url>
git add .
git commit -m "Initial commit"
git push -u origin master

Mevcut Git deposu

cd existing_repo
git remote rename origin old-origin
git remote add origin <url>
git push -u origin --all
git push -u origin --tags

taahhüt ve itme arasındaki fark nedir? "köken" ve "efendi" ne anlama geliyor? Bir şube?
ealeon

2

İlk olarak, proje adınızla Github'da yeni bir depo oluşturun, ardından aşağıdaki adımları izleyin ..

1)git init
2)git add *
3)git commit -m "first commit"
4)git remote add origin https://github.com/yuvraj777/GDriveDemo.git
5)git push -u origin master

2

Biliyorum, bu eski bir soru ama her adımı açıklamaya çalışıyorum, bu yüzden başkalarına yardımcı olabilir. Gitmek için mevcut bir kaynağı şu şekilde ekliyorum:

  1. Git üzerinde repo oluşturun, böylece ssh || https nereye kaynak kodu ekleyeceğiniz.
  2. Terminalinizde projenizin yoluna gidin.
  3. Çalıştır git init(burada projeyi git olarak başlatırsınız).
  4. Çalıştır git add *(burada projenizdeki tüm dosya ve klasörleri eklersiniz).
  5. Çalıştır git commit -m "Initial Commit."(burada 4. adımda eklenen dosyalarınızı ve klasörlerinizi taahhüt edersiniz; değişikliklerinizi taahhüt etmeden zorlayamayacağınızı unutmayın).
  6. Çalıştır git remote add origin https://your_username@bitbucket.org/your_username/project-name.git(burada kaynağınızın itileceği uzak bir proje ekliyorsunuz; bağlantımı adım # 1'deki ssh || https ile değiştirin).
  7. Çalıştır git push -u origin master(burada kaynağını git deposuna itersiniz).

Not: Bunlar, kaynağınızı ana şubeye aktarmak için basit adımlardır .


2

Bir cevap daha eklemekten nefret ediyorum, ancak benim özel senaryom burada tam olarak ele alınmıyor. Korumak istediğim değişikliklerin olduğu bir yerel repo ve Github'da (yani, varsayılan README.md ile) benim için boş olmayan bir repo oluşturdum. Evet, Github deposunu her zaman boş bir repo olarak yeniden oluşturabilirsiniz, ancak benim durumumda başka birinin bu özel repoyu oluşturma izinleri vardır ve kolay bir çözüm varsa onu rahatsız etmek istemedim.

Bu senaryoda, git pushuzak kökeni ayarladıktan sonra denediğinizde bu hatayla karşılaşacaksınız :

 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'git@github.com:<my repo>.git'
hint: Updates were rejected because the remote contains work that you do
hint: not have locally. This is usually caused by another repository pushing
hint: to the same ref. You may want to first integrate the remote changes
hint: (e.g., 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

Hata belirttiği gibi, git pulluzak kökeni ayarladıktan sonra bir yapmam gerekiyordu, ancak --allow-unrelated-historiesseçeneği belirtmem gerekiyordu . Bu seçenek olmadan git pullşikayet eder warning: no common commits.

İşte benim için çalışan komutların tam sırası:

git remote add origin <github repo url>
cp README.md README.md-save
git pull origin master --allow-unrelated-histories
mv README.md-save README.md
git commit -a
git push

Aynı problemim var, ancak adımlarınız bazı tuhaf metin editörü şeylerine yol
açıyor

Ah, normalde bir kullanıcı arayüzü kullandığınızı ve normalde komut satırından işlemediğinizi tahmin ediyorum (bununla ilgili yanlış bir şey yok, SourceTree kullanıcı arayüzünü kullanıyorum). Açılan editör büyük olasılıkla arayüzü kendi içinde bütün bir konu olan vi editörüdür, bu yüzden burada tartışmayacağım.
Jonathan Fischer

2

29.07.2019 tarihinden itibaren, Github kullanıcılara bir repo oluşturulduğunda bu görevi gerçekleştirme talimatlarını sunar ve çeşitli seçenekler sunar:

komut satırında yeni bir havuz oluştur

git init
git add README.md
git commit -m "first commit"
git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

varolan bir havuzu komut satırından iletme

git remote add origin https://github.com/novomotus/vitaprice.git
git push -u origin master

kodu başka bir havuzdan içe aktar

importişlemi başlatmak için düğmesine basın .

Orada görsel öğrenenler için:

resim açıklamasını buraya girin




0

"Doğal" bir dizide bir güncellemenin uyarılmasının, zorlayıcı şeylerden daha kolay bir yol olduğunu buldum.

Reponun zaten github'da oluşturulduğunu ve README.md dosyasına bazı şeyler eklediğinizi varsayalım.

  1. Bilgisayarınızda terminali açın ve git clone [repo URL]

  2. Repo'nizin adını taşıyan yeni bir klasör oluşturulduğunu göreceksiniz. Yeniden adlandırmaktan çekinmeyin - önemli değil.

  3. Kodunuzu, dosyalarınızı vb. Bu klasöre taşıyın. Gerekirse README.md dosyasını düzenleyin.

  4. Şimdi Terminal / komut istemini açın, o klasörün içine girin ve repo için bir sonraki güncellemeyi yapıyormuş gibi bir şeyler yapın:

git add .
git commit -m "v2"
git push origin master

Not: command komutunda git reddedilebilir, önce kullanıcı e-postasını ve parolasını yapılandırmanızı isteyebilir. Ekranda verilen adımları izleyin ve ardından command komutunu tekrar çalıştırın.

  1. Ve bu üç komut, başka bir güncellemeyi her göndermek istediğinizde şu andan itibaren yaptığınız komuttur.
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.