Git覚書
【概要】
藤本のメモ (2020.12.1)
人のコードを使う時、多分forkしてからbranch切って作業して、最後に必要ならmergeしてもらうのが一番良さそう。
1.Forkする
2. 自分のPCにcloneする
3. branchを作る
masterは常に最新にする。
master_*
devel_*
の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