Git push: "fatal 'origin' tampaknya bukan repositori git - fatal Tidak dapat membaca dari repositori jarak jauh.”

119

Saya tahu pertanyaan serupa telah ditanyakan.

Tapi, saya yakin masalah saya disebabkan oleh kesalahan yang telah saya buat sebelumnya dan oleh karena itu berbeda: izinkan saya menjelaskan.

Semuanya bekerja dengan lancar, yang saya bisa:

  • git add . semua file dari repositori lokal saya.
  • git commit -m "message here" untuk menambahkan pesan ke komit saya.
  • git push origin master untuk mengunggah file saya ke GitHub.
  • git push heroku master untuk mengunggah file saya ke Heroku.

Namun, pada titik tertentu, saya membuat cabang baru yang dipanggil secara lokal add-calendar-modeljika langkah selanjutnya dari pengembangan aplikasi akan mengarah ke selatan ...

... itulah yang terjadi.

Namun, meskipun banyak upaya, saya tidak berhasil mendapatkan kode awal - yaitu kode dari sebelum saya membuat cabang baru - dari mastercabang ke repositori lokal saya.

Jadi, saya memutuskan untuk secara manual menghapus semua file dari repositori lokal git clonesaya dan mastercabang saya dari GitHub.

Dengan cara ini, saya mendapatkan kembali semua file saya, tetapi sekarang, saya tidak dapat mendorong lagi ke repositori jarak jauh.

Setiap kali saya mencoba menjalankan git push origin add-calendar-modelatau git push origin master, saya mendapatkan kesalahan berikut:

fatal: 'origin' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Saya sangat tidak nyaman dengan Git dan GitHub, seperti yang mungkin sudah Anda duga sekarang, dan saya harus mengakui bahwa saya tidak tahu cara memperbaikinya.

Ada ide?

Thibaud Clement
sumber
Saya mengalami kesalahan yang sama, Tapi masalah saya adalah saya telah menginisialisasi git di direktori induk dari folder saat ini yang saya coba. Untuk berjaga-jaga jika ada yang masih menghadap, dapat melihat di mana git diinisialisasi dan kemudian coba lagi.
Himanshu Kriplani

Jawaban:

215

Pertama, periksa apakah asal Anda disetel dengan menjalankan

git remote -v

Ini akan menunjukkan kepada Anda semua remote push / fetch untuk proyek tersebut.

Jika ini kembali tanpa keluaran, lompat ke blok kode terakhir.

Verifikasi nama / alamat jarak jauh

Jika ini kembali menunjukkan bahwa Anda telah mengatur remote, periksa bahwa nama remote cocok dengan remote yang Anda gunakan dalam perintah Anda.

$git remote -v
myOrigin ssh://[email protected]:1234/myRepo.git (fetch)
myOrigin ssh://[email protected]:1234/myRepo.git (push)

# this will fail because `origin` is not set
$git push origin master

# you need to use
$git push myOrigin master

Jika Anda ingin mengganti nama remote atau mengubah URL remote, pertama-tama Anda ingin menghapus remote lama, dan kemudian menambahkan yang benar.

Hapus remote lama

$git remote remove myOrigin

Tambahkan remote yang hilang

Anda kemudian dapat menambahkan remote yang tepat menggunakan

$git remote add origin ssh://[email protected]:1234/myRepo.git

# this will now work as expected
$git push origin master
Matt Clark
sumber
Ini bekerja untuk saya tanpa ssh://di depan[email protected]:1234/myRepo.git
Carol-Theodor Pelu
Saya telah membaca pertanyaan ini jika Anda juga dapat membantu dengan kesalahan push repositori baru?
StaticVariable
12

Seperti yang dikatakan Matt Clark di atas

Namun, asal mungkin tidak disetel, jadi lewati langkah menghapus dan hanya mencoba menambahkan dapat menghapusnya.

git remote add origin <"clone">

Di mana "klon" hanya masuk ke repo GitHub Anda dan menyalin "URL kloning HTTPS" dan menempelkannya ke GitBash

heb-NR
sumber
3

Pastikan file konfigurasi di .git sudah benar ... Periksa URL & Pastikan Anda menggunakan protokol yang benar untuk kunci Anda ... ProjectWorkspace / .git / config

  ~Wrong url for git@bitbucket
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
[remote "origin"]
    url = gitbucket.org:Prezyack/project-one-hello.git
    fetch = +refs/heads/*:refs/remotes/origin/*

 ~Wrong URL for SSH...
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = https://[email protected]/emmap1/bitbucketspacestation.git
[branch "master"]
    remote = origin
    merge = refs/heads/master

Kami melihat URL ... misalnya: Untuk bitbucket, harapkan [email protected] .... Jika gitbucket.org nya. buat perubahan yang diperlukan .. SIMPAN Coba dorong lagi.

Magere
sumber
1

Ini bekerja untuk saya.

git remote add origin https://github.com/repo.git
git push origin master

tambahkan URL repositori ke asalnya di direktori kerja lokal

vinod
sumber
0

Kesalahan serupa muncul saat menarik perubahan dari asalnya. Jika Anda mencoba di Intellij dari opsi menu, tarikan tersebut mungkin tidak bekerja secara langsung.

Pergi ke terminal dan ketik perintah ini dan ini akan berhasil: git pull origin master

Nikhil Shrivastav
sumber
0

Saya memiliki masalah yang sama. Ketika saya memeriksa file konfigurasi saya, saya melihat bahwa 'fetch = + refs / heads / : refs / remotes / origin / ' berada di baris yang sama dengan 'url = Z: /GIT/REPOS/SEL.git' seperti yang ditunjukkan:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git     fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255

Pada awalnya saya tidak berpikir bahwa ini akan menjadi masalah tetapi setelah melihat posting oleh Magere saya memindahkan garis dan memperbaiki masalah:

[core]
    repositoryformatversion = 0
    filemode = false
    bare = false
    logallrefupdates = true
    symlinks = false
    ignorecase = true
[remote "origin"]
    url = Z:/GIT/REPOS/SEL.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[gui]
    wmstate = normal
    geometry = 1109x563+32+32 216 255
Beaug45
sumber
0

jika Anda menambahkan repositori jarak jauh Anda dengan menggunakan git clone, ikuti langkah-langkahnya: -

git clone <repo_url> kemudian

git init

git add * * berarti menambahkan semua file

git commit -m 'your commit'

git remote -vuntuk memeriksa apakah ada cabang yang berjalan atau tidak jika tidak maka tidak ada yang ditampilkan maka kita menambah atau mengambil repositori. " ambil dulu" . Anda harus berlari git pull origin <branch> atau git pull -r origin <branch>sebelum dorongan berikutnya .

kemudian

git remote add origin <git url>
 git pull -r origin master
git push -u origin master```
md sha
sumber
0

Ini adalah cara saya memperbarui cabang master

$ git remote -v
$ git remote rm origin
$ git commit -m "your commit"
$ git remote add origin https://github.com/user/repo.git
$ git push -f origin master
Antonio
sumber
1
Cobalah menambahkan penjelasan pada jawaban Anda dengan cara yang menjawab pertanyaan dan mencoba membantu pembaca memahami. Saat ini, itu hanya terbaca seperti anekdot dan bahkan tidak akan berfungsi dalam kasus umum (misalnya https://github.com/adalah root situs web dan repo git)
Kache
-3

Terkadang Anda tidak memiliki REF lokal untuk mendorong cabang tersebut kembali ke asalnya.
Mencoba

git push origin master:master

Ini secara eksplisit menunjukkan cabang mana yang akan didorong ke (dan dari)

vsriram92
sumber