Git覚書

【概要】
藤本のメモ (2020.12.1)
人のコードを使う時、多分forkしてからbranch切って作業して、最後に必要ならmergeしてもらうのが一番良さそう。

1.Forkする
2. 自分のPCにcloneする
3. branchを作る

の3つをつくって管理するのがいいか? (2021.3.16)

Forkして、masterはupstream branchと同期させる。 でbranchを切ってそこで開発して、upstream branchにmerge request を出すのがいい。 (2021.05.12)

というのも、repositoryの権限がDeveloper以上(Developer or Maintainer)じゃないと、directlyにpushできない。
ContributerでもforkからMRを出せば大丈夫なので。(2021.6.8)

ブランチを切る

$ git checkout -b new_branch
Switched to a new branch 'new_branch'
$ git branch
* new_branch
  master

この時点ではリモートにつながってない

$ git push -u origin new_branch

とやるとリモートに新しいブランチを送れます
-uが必要かどうかはちょっとわからない

それをやったらGitHubのページに行ってPull Requestボタンを押してmergeしてもらってください
GitLabも多分同様 (GitLab の場合はPull RequestじゃなくてMerge Requestだった 2019.5)

今どのブランチにいるんだっけ、と思った時

$ git branch
* 21.0
  master

*がついているのが今いるブランチです ちなみに

$ git branch -a

とやると自分がローカルできったブランチだけじゃなくて他の人が切ったやつも全部表示される

どのURLからcloneしたんだっけ、と思った時(リモートのURLを確認したい)

$ git remote -v
origin  https://:@gitlab.cern.ch:8443/ochanomizu/Run2PixelAnalysis.git (fetch)
origin  https://:@gitlab.cern.ch:8443/ochanomizu/Run2PixelAnalysis.git (push)

変更したファイルを元に戻したい

いろいろ書き換えた後にgit cloneしたときの状態に戻したいとき

$ git checkout 戻したいファイル名

間違って別のbranchで実装を始めてしまったとき

$ git stash save 'コメント'

で避難させといてbranchを新しく切る

$ git checkout -b ブランチ名
$ git push -u origin ブランチ名

でstashした作業中のファイルを戻す

$ git stash apply

参考URLは、
https://gist.github.com/koudaiii/526707492ebc5915596e
https://qiita.com/fukajun/items/41288806e4733cb9c342

Gitに大きすぎるファイルサイズのファイルを置こうとしてエラーを吐かれたとき

大きなファイルをローカルリポジトリに追加してしまってプッシュ出来なくなった状況からの対処方法

$ git reset --soft HEAD^

でcommitだけを取り消す。それから大きなファイルを除いてやりなおす。
参考URLは、
https://qiita.com/kanaya/items/ad52f25da32cb5aa19e6

間違えてresetしたとき

git reflogを使う。
参考URLは、
https://www.r-staffing.co.jp/engineer/entry/20191227_1

参考URL

forkの仕方http://kik.xii.jp/archives/179

how to merge conflicts https://tanaponchikidun.hatenadiary.org/entry/20140101/1388569315
how to checkout merge requests https://stackoverflow.com/questions/44992512/how-to-checkout-merge-request-locally-and-create-new-local-branch

UsingGitMemoFujimoto (最終更新日時 2021-06-08 13:19:58 更新者 MinoriFujimoto)