はじめに
私は情報系まがいのことをしているが基本的には非情報系である1.
- 1つのファイルをどんどん書き足し(書き換え)ながら開発する
- 大規模な変更を入れる場合はディレクトリごとコピーして名前を変え,書き直す
とくにこの2番目がクソと言わざるを得ないだろう.
デスクトップには同じような名前のフォルダが並んでおり,それらはファイル名末尾の日付と,私の記憶でしか判別できないのだ.
あとバックアップが取れていないので,ワークステーションが学会前にお亡くなりになったときはマジで死ぬかと思った.
Twitterでそんなことをつぶやいたらgitをつかいなさーい!と言われたので,gitを使ってみたのである.
その時の記録と,基本的な使い方くらいをまとめておこうと思う2.
準備
まずgitというのはバージョン管理するソフトウェアの名称(?)で,GitHubというのはバージョン管理する場所を貸してくれるサービスであるらしいことがわかった.
研究内容をオンラインの公開リポジトリに置いておくわけにはいかないので,privateリポジトリを作れるようにGitHubのアカウントをeducationにした.
ここから「Join education」を押してメールアドレスで認証した.
その他の作業は,基本的にこのサイトに書いてあるとおりにやった.
今日からはじめるGitHub 〜 初心者がGitをインストールして、プルリクできるようになるまでを解説 - エンジニアHub|若手Webエンジニアのキャリアを考える!
相違点は,GitHubのアカウントを取得するところをすっとばして,リポジトリの作成をprivateにしたことくらい.
また,sshは通ったがgit cloneができなかったのでググったところ,ssh-agentとかいうのを設定しなきゃいけなかった.
参考:Githubに接続できない時の対処法
追記:SSH agentくんは再起動のたびにパスフレーズを忘れてしまうらしい.
ssh agentをパスフレーズ省略に応用する方法まとめ
# 基本操作
gitは,以下の手順で操作する(と,私は思っている).
- 手元でファイルを作成・編集する
- どのファイルを変更履歴に反映するかを選ぶ(add)
- ローカルの変更履歴に反映する(commit)
- ローカルの変更履歴をGitHub上のリポジトリに反映する(push)
1人で使ってるぶんには「ぷる」とかいうのはなさそうなのでよく知らない.
参考:Qiitaではこの記事がかなり良さそう→【Git】基本コマンド
git add
特定のファイルだけ変更履歴に反映するときは
git add [ファイル名]
全部やるときは
git add *
git commit
git commit -a -m "コメント"
コメントはあとから履歴を見たときに表示されるっぽいからなんとなくでも書いといたほうが良さそうにゃもね.
git push
git push [リモートリポジトリ名] [ローカルのbranch名]:[リモートのbranch名]
この記事のようにリモートリポジトリからcloneして作ったローカルリポジトリの場合,リモートリポジトリ名をoriginとしてよいらしい.
あとローカルとリモートでbranch名が同じ場合は入力は1回でよく,現在のbranchをpushする場合はまるごと省略も可能っぽい,よって
git push
でもできてしまうにゃもね.
# おしまい
これで,手元で作成したファイルの変更履歴をGitHub上に反映することができた.
今の所,ログを確認したり巻き戻したりという必要に迫られていないのでそのような操作は知らないが,必要になったらまたググるし,必要だと思ったらここに書くと思う.
参入障壁はそれなりに感じたけど,やはりファイルはスッキリ管理したいので,今後はgitを使っていきたいと思います.