= 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]] <
>
[[https://docs.github.com/ja/free-pro-team@latest/github/getting-started-with-github/fork-a-repo]] <
>
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]] <
>