Nedense, şimdi itemiyorum, oysa bunu dün yapabilirim. Belki ben yapılandırmalar ya da bir şey ile berbat ettim.
Olan şey budur:
Git push origin master'ı kullandığımda
Çalışma dizinim ve uzak depo neye benziyor:
Nedense, şimdi itemiyorum, oysa bunu dün yapabilirim. Belki ben yapılandırmalar ya da bir şey ile berbat ettim.
Olan şey budur:
Git push origin master'ı kullandığımda
Çalışma dizinim ve uzak depo neye benziyor:
Yanıtlar:
GitHub repo yeni taahhütler gördüyse, yerel olarak çalışırken şunları kullanmanızı tavsiye ederim:
git pull --rebase
git push
Söz diziminin tamamı:
git pull --rebase origin master
git push origin master
Git 2.6+ (Eylül 2015) ile, yaptıktan sonra (bir kez)
git config --global pull.rebase true
git config --global rebase.autoStash true
Basit bir git pull
şey yeterli olur.
(Not: Git 2.27 Q2 2020 ile , merge.autostash
normal çekmeniz için, rebase olmadan da mevcuttur)
Bu şekilde, (tekrar ediyorum --rebase
yeni güncellenmiş üstünde yerel hareketin parçası) origin/master
(veya origin/yourBranch
: git pull origin yourBranch
).
İçinde daha eksiksiz bir örneğe bakın rebase ile bölüm 6 Pull ait Git Cep Kitabı .
Ben tavsiye ederim:
# add and commit first
git push -u origin master
Bu, yerel ana dalınız ve yukarı akış kolu arasında bir izleme ilişkisi kuracaktır.
Bundan sonra, bu dal için gelecekteki herhangi bir itme basit bir şekilde yapılabilir:
git push
Bkz. " Neden açıkça yeni bir şube göndermem gerekiyor? ".
OP zaten sıfırlandığından ve üstündeki taahhüdünü yeniden yaptığındanorigin/master
:
git reset --mixed origin/master
git add .
git commit -m "This is a new commit for what I originally planned to be amended"
git push origin master
Buna gerek yok pull --rebase
.
Not: git reset --mixed origin/master
yazılabilir git reset origin/master
, çünkü --mixed
seçenek kullanılırken varsayılan seçenektir git reset
.
Biri denedi mi:
git push -f origin master
Bu sorunu çözmek gerekir.
EDIT: @Mehdi'nin aşağıdaki yorumunu temel alarak açıklığa kavuşturmam gerekiyor
—force pushing
. Yukarıdaki git komutu sadece ilk işlem için güvenli bir şekilde çalışır. Daha önce taahhütler, çekme istekleri veya şubeler varsa, bu tüm bunları sıfırlar ve sıfırdan ayarlar. Öyleyse, daha iyi bir çözüm için lütfen @VonC'un ayrıntılı cevabına bakın.
-f
/ --force
kullanmak her zaman daha güvenlidir --force-with-lease
, itme ile tıkanacak aşağı yönde değişiklikler varsa iptal eder. --force-with-lease
günlük yeniden düzenleme durumları için gereklidir, ancak --force
neredeyse hiç gerekmemelidir.
git init
Dosyalarınızı daha önce kullandıysanız git add .
veya benzer bir şey eklediyseniz ve uzak dalınızı eklediyseniz, uzaktan kumandaya git commit -m 'commit message'
itmek için yerel olarak herhangi bir şey ( ) işlememiş olabilirsiniz ... Bu hatayı aldım ve bu benim konu.
Aynı problemim vardı. Bu sorunu alıyordum çünkü başlangıçta bile taahhütte bulunmamıştım ve hala itmeye çalışıyordum.
Bir kez yaptım git commit -m "your msg"
ve sonra her şey iyi çalıştı.
Şubenizi yeniden adlandırın ve ardından, örneğin:
git branch -m new-name
git push -u new-name
Bu benim için çalıştı.
my-branch_wont_push
. Bir kez yeniden adlandırdım my_branch_wont_push
, sonra git push -u origin my_branch_wont_push
benim için çalıştı.
Github yardımında bu sorunun çözümünü buluyorum.
Şuradan görebilirsiniz: Hızlı ileri olmayan hatalarla ilgilenme
Diyor ki:
Uzak dalda yapılan değişiklikleri yerel olarak yaptığınız değişikliklerle getirip birleştirerek bunu düzeltebilirsiniz:
$ git fetch origin
# Fetches updates made to an online repository
$ git merge origin branch
# Merges updates made online with your local work
Veya her iki komutu aynı anda gerçekleştirmek için git pull komutunu kullanabilirsiniz:
$ git pull origin branch
# Grabs online updates and merges them with your local work
git init
git remote add origin https://gitlab.com/crew-chief-systems/bot
git remote -v
(mevcut havuzu kontrol etmek için)
git add -A
(tüm dosyaları ekle)
git commit -m 'Added my project'
git pull --rebase origin master
git push origin master
Aynı sorunla karşılaştım, aşağıdaki adımlarla düzeltildim.
git init
git add .
git commit -m 'Add your commit message'
git remote add origin https://User_name@bitbucket.org/User_name/sample.git
( URL'nin üstünde https: //User_name@bitbucket.org/User_name/sample.git bit kovası proje URL'nizi ifade eder)
git push -u origin master
ipucu
git hub hesabınızın yerel git ile bağlantı olup olmadığını kontrol edin:
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
göndermeden önce değişiklikleri eklemeniz ve taahhüt etmeniz veya yapmanız git push -f origin master
git push origin {your_local_branch}:{your_remote_branch}
Yerel şubeniz ve uzak şubeniz aynı adı paylaşıyorsa, yerel şube adınızı atlayabilirsiniz, sadece kullanın git push {your_remote_branch}
. Aksi takdirde bu hatayı atar.
Aşağıdaki adımları izledim ve benim için çalıştı.
rm -rf .git
git init
git add .
git commit -m"first message"
git remote add origin "LINK"
git push -u origin master
Hiç dosyanız olmadığında olabilir. Bir metin dosyası oluşturmaya çalışın ve aşağıdaki komutları izleyin
git add .
git commit -m "first commit"
git push --set-upstream origin master
GitHub'da boş bir repo oluşturdum ve kodumu yerel olarak aldım. Şimdi aynı konuyla karşılaştım, aşağıdaki sırayı izlediğim gibi,
git init
git commit -m 'Initial Commit'
git remote add origin https://github.com/kavinraju/Repo-Name.git
git add .
git push -u origin master
SORUN OLDU: Sahip olduğum dosyaları hazırlamadan önce işlemeye çalıştım.
DOSYALARI AŞAĞIDAKİ VE SONRA KOMİTEYE İHTİYACIMIZ VAR.
Bu doğru sıra.
git init
git add .
git commit -m 'Initial Commit'
git remote add origin https://github.com/kavinraju/Repo-Name.git
git push -u origin master
İlk önce yanlış diziyi yürüttüğüm için, sadece aşağıdaki komutları çalıştırıyorum
git add .
git commit -m 'Initial Commit'
git push -u origin master
Bunun geçerli olup olmadığından emin değilim, ama benim için düzeltme git init'ten sonra yerel olarak bir şey yapmaktı. Sonra --set-upstream kullanarak uzaktan kumandayı ittim ...
Benim için çözülen yeni bir şube yaratmak:
git checkout -b <nameOfNewBranch>
Beklendiği gibi, önceki dal tamamen yeni dalda bulunduğundan birleştirmeye gerek yoktur.
git push origin feature22-fix
, ancak feature22-fix
ne yerel ne de uzaklardan çıkmadım , bu yüzden önce şubeyi yerel olarak kontrol etmek zorunda kaldım, sonra itin
GitHub deposuna sahip bir dizini başlatmaya çalışıyorsanız, değişiklik yaptığınızdan emin olmalısınız.
Bir dosya oluşturmayı deneyin:
touch initial
git add initial
git commit -m "initial commit"
git push -u origin master
Bu, daha sonra silebileceğiniz initial adlı bir dosya yerleştirir.
Umarım bu cevap yardımcı olur! İyi şanslar!
Benim durumumda, husky
itmeyi engelleyen benim paketimdi.
> husky - pre-push hook failed (add --no-verify to bypass)
> husky - to debug, use 'npm run prepush'
error: failed to push some refs to 'https://username@bitbucket.org/username/my-api.git'
Zorla itmek için koş
git push origin master --no-verify
npm run prepush
Hata ayıklama görmek için koştu ve bu nedeni oldu:
npm ERR! code ELOCKVERIFY
npm ERR! Errors were found in your npm-shrinkwrap.json, run npm install to fix them.
npm ERR! Invalid: lock file's loopback-utils@0.8.3 does not satisfy loopback-utils@^0.9.0
Koş npm install
ve taahhüt et ve sorun çözüldü.
bunları yap
git rm --cached *
git add .
git commit -m"upload"
git push --set-upstream origin master
Mutlu kodlama!
Bu git komutunu deneyin,
git push origin master –f
git push origin master --force
Sourcetree kullanıcıları için
Öncelikle bir başlangıç taahhüdü yapın veya değişmemiş bir değişiklik olmadığından emin olun, ardından sourcetree'nin yanında bir "UZAKTANLAR" vardır, üzerine sağ tıklayın ve ardından 'Origen to push' seçeneğine tıklayın. İşte böyle.