アルフォート生活🍫💴

3年後の自分のために、知識をアルフォートの箱に詰めていきます💴

Gitでよく使う流れと困ったこと

Gitでよく使う流れ

GitHub リポジトリ作成

※予め空のリポジトリ作成しておく

git init
git clone "[ URL ]"
git remote add origin "[ URL ]"
git add [ ファイル名 ]
git commit -m "[ コメント ]"
git branch -M main
git push origin main

 

GitHub pull&push

git pull origin main
git add [ ファイル名 ]
git commit -m "[ コメント ]"
git push origin main

 

GitHub clone

user.name "[ ユーザー名 ]"
user.email "[ メールアドレス ]"
git init
git branch -M main
git merge

 

GitHub origin削除

git remote rm origin

やりたかった事

Cloud9にGitHubから簡単にcloneしたいよね!

 

AWS Cloud9にgithubからcloneしてくる
https://niki12260714.hatenablog.com/entry/2018/04/20/092339

 

[gh]コマンドを使うのにはアップデートが必要、[sudo yum]コマンドを使うにはRubyが必要…

sudo apt update
sudo apt install -y ruby

なんてのは勘違いで、[sudo yum…]ではなく、[sudo apt…]
おそらく上の記事はOSがubuntuではない事が理由?
という操作もそもそも必要なく、[git clone "URL"]でクローンできた

問題はここからで

git push origin main
error: src refspec main does not match any.
error: failed to push some refs to 'origin'

恐らく、addまたはcommitを実行した際にmasterファイルが作成され、そのためmasterからmainへのbranch名の書き換えが成功したっぽい。

 

▽Gitの初期設定時にmasterからmainへbranch名を変更できない場合の対処法
https://qiita.com/ststs/items/6e7773aa33107652e69e

touch README.md
git add README.md
git commit -m "kadai-commit"
[master (root-commit) 7546257] kadai-commit
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 README.md
git branch -M main

pushしようとしたら、リモートのファイルがローカルのファイルも最新版だから、そのファイルにpushできないらしい
そりゃpullしてないから当たり前だよ
意味も分からず、トークンを張り間違えたと思ってもう一度pushしようとしたら別のエラーメッセージが出てハマりました

git push origin main

error: failed to push some refs to '…'

git push origin main
fatal: Authentication failed for

 

とりあえずpullしたら、先にmergeする必要があったらしくエラーが返される
merge後にプッシュしたら、READMEがリモートリポジトリに作成されてました

 

▽[Git] fatal: refusing to merge unrelated historiesを解決する話
https://qiita.com/mei28/items/85bc881ac1f26332ac15

git merge

git branch -M main
git push origin maingit merge

git branch -M main
git push origin main

その後はファイルを作成して、ステージ追加、コミット、プッシュで完了
無駄に時間が溶けました
SourceTreeは偉大!!!

echo "これは最初のコミットです。">> ~/environment/kadai-commit/sample.txt
git add sample.txt
※複数ファイルを指定可能
git commit -m "add sample.txt"
git push origin main