LoginSignup
0
2

More than 3 years have passed since last update.

GitHubへのgit pushで怒られた時の対処(同一リモートリポジトリを多重でcloneしてしまった場合)

Posted at

こちらの記事作成の過程で、ローカルリポジトリがあるにもかかわらず、同じリモートリポジトリを別ディレクトリにcloneしたところ、git pushするときに怒られた。

GitHubリモートリポジトリをローカルにcloneする

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$ git push
To https://github.com/kanazwk/dev.git
 ! [rejected]        master -> master (fetch first)
error: failed to push some refs to 'https://github.com/kanazwk/dev.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.

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$

・fetch firstがいるからpushできません
・another repository pushingしてんじゃないの
・git pullしてからやってみたら

ここでgit fetchをためすといいらしいので以下の通り実行。

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$ git fetch
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (1/1), done.
remote: Total 3 (delta 1), reused 3 (delta 1), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/kanazwk/dev
   f41d5ac..c968ccd  master     -> origin/master

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$

通ったのでローカルリポジトリをgit mergeする。
カレント以外の同じローカルリポジトリは消え、統合されるので注意が必要。

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$ git merge origin/master
Merge made by the 'recursive' strategy.
 QIITAARTICLE.txt | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 QIITAARTICLE.txt

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$

merge完了後、git pushを実行すると成功。

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$ git push -u origin master
Enumerating objects: 9, done.
Counting objects: 100% (9/9), done.
Delta compression using up to 4 threads
Compressing objects: 100% (7/7), done.
Writing objects: 100% (7/7), 1.02 KiB | 131.00 KiB/s, done.
Total 7 (delta 2), reused 0 (delta 0)
remote: Resolving deltas: 100% (2/2), completed with 1 local object.
To https://github.com/kanazwk/dev.git
   c968ccd..4b9413d  master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

k_kanazawa@MyComputer MINGW64 /c/kana/dev (master)
$

まとめ

本来ならbranch切るなり、リポジトリをforkするなりしてローカルリポジトリにcloneするのが使い方なのだろうけど、うっかり多重でcloneして開発を進めてしまった場合には使えそう。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2