カテゴリー:
Git BASH
閲覧数:423 配信日:2020-06-01 10:31
最初に結論
GitHub への PUSH へ 1回成功したぐらいでは、Git 理解したことには全然ならない
「Git 理解した」と思うまでは
「PUSH」するためのディレククトリを別途作成して、そこで Git 操作する
※何かあった場合でも、元ソースコードからいつでも復活できるようにするため(バージョン管理ツールなのに本末転倒のような気もするが、仕方ない)
失敗履歴
「$ git reset」失敗履歴1。Git BASH 経由で Windows10 から GitHub へ PUSH しようとするも、誤ってソースコードを削除してしまう
理解出来ない挙動
たまたまうまくいっただけ
「理解できていないコマンド」を(バックアップ取得していない)コードに試すことは止めた方が良い
cd
作業ディレクトリ(Lドライブの「/3_開発/git/東京都/」)へ移動する
user@xxxx MINGW64 /c
$ cd /L/3_開発/git/東京都
$ cd /L/3_開発/git/東京都
git init
作業ディレクトリ内へ、Gitの(空の)ローカルリポジトリを作成する
user@xxxx MINGW64 /L/3_開発/git/東京都
$ git init
$ git init
Initialized empty Git repository in L:/3_開発/git/東京都/.git/
git add -A
作業ディレクトリ内にあるファイルを全てコミット候補にする
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git add -A
$ git add -A
git commit -m
インデックスに追加されたファイルをコミットする(コミットメッセージも指定する)
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git commit -m "first commit"
$ git commit -m "first commit"
[master (root-commit) 99ac2bf] first commit
1 file changed, 1 insertion(+)
create mode 100644 "\346\235\261\344\272\254\351\203\275\346\270\257\345\214\272.txt"
git remote add origin
ローカルリポジトリに、リモートリポジトリを設定する
※リモートリポジトリは、GitHub の GUI 経由で事前作成しておく必要がある
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote add origin git@github.com:GitHubユーザー名/東京都.git
$ git remote add origin git@github.com:GitHubユーザー名/東京都.git
git remote -v
ローカルリポジトリに設定されている、リモートリポジトリ内容を一覧表示(URLも表示)
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote -v
$ git remote -v
origin git@github.com:GitHubユーザー名/東京都.git (fetch)
origin git@github.com:GitHubユーザー名/東京都.git (push)
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
fatal: remote error:
is not a valid repository name
Email support@github.com for help
git remote add origin
ローカルリポジトリに、リモートリポジトリを設定する
※リモートリポジトリは、GitHub の GUI 経由で事前作成しておく必要がある
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote add origin git@github.com:GitHubユーザー名/test_2020_0601.git
$ git remote add origin git@github.com:GitHubユーザー名/test_2020_0601.git
fatal: remote origin already exists.
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
fatal: remote error:
is not a valid repository name
Email support@github.com for help
git remote rm
ローカルリポジトリからリモート URL を削除する
※リモートリポジトリをサーバから削除するわけではない(ローカルリポジトリからリモートリポジトリへの参照を削除するだけ)
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote rm origin
$ git remote rm origin
git remote -v
ローカルリポジトリに設定されている、リモートリポジトリ内容を一覧表示(URLも表示)
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote -v
$ git remote -v
git remote add origin
ローカルリポジトリに、リモートリポジトリを設定する
※リモートリポジトリは、GitHub の GUI 経由で事前作成しておく必要がある
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote add origin git@github.com:GitHubユーザー名/test_2020_06_01.git
$ git remote add origin git@github.com:GitHubユーザー名/test_2020_06_01.git
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_06_01.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_06_01.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.
git remote add origin
ローカルリポジトリに、リモートリポジトリを設定する
※リモートリポジトリは、GitHub の GUI 経由で事前作成しておく必要がある
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote add origin git@github.com:GitHubユーザー名/test_2020_0601.git
fatal: remote origin already exists.
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_06_01.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_06_01.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.
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote -v
$ git remote -v
origin git@github.com:GitHubユーザー名/test_2020_06_01.git (fetch)
origin git@github.com:GitHubユーザー名/test_2020_06_01.git (push)
git remote rm
ローカルリポジトリからリモート URL を削除する
※リモートリポジトリをサーバから削除するわけではない(ローカルリポジトリからリモートリポジトリへの参照を削除するだけ)
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote rm origin
$ git remote rm origin
git remote -v
ローカルリポジトリに設定されている、リモートリポジトリ内容を一覧表示(URLも表示)
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote -v
$ git remote -v
git remote add origin
ローカルリポジトリに、リモートリポジトリを設定する
※リモートリポジトリは、GitHub の GUI 経由で事前作成しておく必要がある
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote add origin git@github.com:GitHubユーザー名/test_2020_0601.git
$ git remote add origin git@github.com:GitHubユーザー名/test_2020_0601.git
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_0601.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_0601.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.
git remote -v
ローカルリポジトリに設定されている、リモートリポジトリ内容を一覧表示(URLも表示)
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git remote -v
$ git remote -v
origin git@github.com:GitHubユーザー名/test_2020_0601.git (fetch)
origin git@github.com:GitHubユーザー名/test_2020_0601.git (push)
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_0601.git
! [rejected] master -> master (fetch first)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_0601.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.
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git fetch
$ git fetch
warning: no common commits
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From github.com:GitHubユーザー名/test_2020_0601
* [new branch] master -> origin/master
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_0601.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_0601.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git pull origin master
$ git pull origin master
From github.com:GitHubユーザー名/test_2020_0601
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_0601.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_0601.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_0601.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_0601.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git reset --soft HEAD^
$ git reset --soft HEAD^
fatal: ambiguous argument 'HEAD^': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions, like this:
'git <command> [<revision>...] -- [<file>...]'
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git pull origin master
$ git pull origin master
From github.com:GitHubユーザー名/test_2020_0601
* branch master -> FETCH_HEAD
fatal: refusing to merge unrelated histories
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
To github.com:GitHubユーザー名/test_2020_0601.git
! [rejected] master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:GitHubユーザー名/test_2020_0601.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git pull --rebase origin master
$ git pull --rebase origin master
From github.com:GitHubユーザー名/test_2020_0601
* branch master -> FETCH_HEAD
First, rewinding head to replay your work on top of it...
Applying: first commit
git push origin master
ローカルリポジトリ(masterブランチ)(の変更)を送信して、リモートリポジトリ(「origin」上の同名ブランチ)へ反映させる
user@xxxx MINGW64 /L/3_開発/git/東京都 (master)
$ git push -u origin master
$ git push -u origin master
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 8 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 311 bytes | 155.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To github.com:GitHubユーザー名/test_2020_0601.git
1fec270..fc336b2 master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.