LoginSignup
2
4

More than 3 years have passed since last update.

Githubについて

Posted at

なぜ使うか

 なぜわざわざわGithubなんてものを使うかというと,自分は以下のモチベ―ションで使っている.

  • ファイルが突然消えてしまうのを防ぐため.ローカルのファイルはいつでも消え得る.PCに水をこぼして壊してしまったり,まちがえて削除してしまったりなど.自分も個人開発していたときに悲劇に見舞われてから,Githubを使うようになった.何十時間,何百時間もかけてかいたコードが一度でも消えてしまった経験があれば,Githubからは離れられなくなる.
  • 他の人と一緒に開発できる.sandbox内だけではあまり恩恵を感じないかもしれないが,それでも他の人の進捗状況を把握したりできる.コードに誤りがあれば指摘できる.もちろん,同時に開発できるのが強み.
  • 何かと就活で求められる.応募条件にGithubが使えることが必須という場合が多々.というか,Github自体は正直まったく難しくないので,「え?できないの?ヤバくね?」という感覚でもある.
  • 他人に自分の成果を見せびらかせる.個人開発したプロダクトのコードを披露する場でもあるし,就活でもよく見せる.大学院入試でも使った.もちろん,sandboxだって,上司に自分がどれだけ仕事をしているのか具体的にアピールする場だと思う.1週間一度も更新されてなかったら,「この人仕事してなくね?」って思われても仕方がない.だってコード書いていないのと同じなのだもの.

 割と下心多めだが,個人的にはこんな感じ.

Github 基本編

 さて,Githubを使いたくなったら,次は実践である.とにかく使おう.Github上にファイルをアップロードするだけなら,まったく難しくない.たった5ステップ.以下がコードだ.

# gitを初期化する -> このフォルダでgitを利用しますよ,という宣言.
$ git init

# レポジトリを登録する -> レポジトリとはGithub上のフォルダ.レポジトリを作成したら,レポジトリのurlを登録しよう.アップロード先を登録する感覚.
$ git remote add origin https://github.com/...

# コミットするファイルを指定.「.」とは全てのファイルという意味..gitignoreやdockerなど様々な場面で使うから覚えておこう.ここはあまり気にせずgit add .しておけばいいと思っている.
$ git add .

# コミット.ローカルの中で保存するイメージ.アップロードする準備でもある.コミットメッセージは何でもいいが,「update ファイル名」とか変更点をメモする感じ.コミットメッセージの意義は後述.
$ git commit -m "コミットメッセージ"

# Githubにファイルをアップロードする.originとはレポジトリのurl(git remote add で指定したでしょ).masterとはブランチの名前(後述).
$ git push origin master

 以上これだけ.本当に簡単.だって,たったの5ステップ.

 ここで注意点だが, 直接アップロードは厳禁.これらはすべてコマンドラインで完結させる.でないと手間がかかって仕方がない.(ちなみにコマンドラインはVSCodeの下にくっついているターミナルのこと.)

Github 発展編

 以上で述べた内容は,自分が個人で使ってたときの理解.これでとくに困ったことはなかったが,ミルプラトーで一応チームでやる中で,発展的な内容も学んだので,ここに記しておく.sandbox内で作業するだけであれば,とくに使う場面もないとは思う.が,やっぱり理解しておくと役立つ.

# 既存のレポジトリを引っ張ってくる.チーム外であればgit clone, チーム内であればgit pullという理解.git pullは変更点のみ引っ張ってくるため軽い.
$ git clone ... / git pull ...

# ログを確認する.元に戻したくなったときなどに使う.
$ git log
$ q (ログから抜ける)

# ブランチを作成する.複数人のときに使う.ブランチ切って開発進めたり,プルリクしたり.
$ git branch branch_name

# ブランチを切り替える
$ git checkout branch_name

# プルリクエスト -> pushして,Github上でCompare & pull request. 大元のコードと統合するとき.ちなみにプルリクエストはGithubの機能.
$ git push origin branch_name

# コミットを取り消す. revert は基本的に直前のコミットの取り消しのみに使う.
$ git revert commit_id
$ git revert HEAD
$ git revert --no-edit coomit_id

# git reset -> HEADの位置を大きく移動できるが,以前のコミットの復元に手間

# 直前のコミットを取り消したい
$ git reset --hard HEAD^

# n個前のコミットまで戻したい
$ git reset --hard HEAD~n

# 誤ってresetをしてしまった場合
$ git reset --hard ORIG_HEAD

Github 趣味編

 コミットはできるだけ細かく.コードを元に戻したくなったとき,他の人がコードをチェックするときに役立つ.余裕があるときは自分は以下の記法を採用している.

1行目: コミットの内容を表す絵文字 + 変更内容を簡潔に英語の命令形で記述
2行目: 空行
3行目以降: なぜ変更したのか詳細な説明を日本語で記述

$ git commit -m ":bug: fixed bug"

こうすると, 🐛 fixed bugみたいに表示されて分かりやすい.そして楽しい.導入は .commit_templateを追加するだけ.vad-sandbox/.commit_template at master · milplateaux/vad-sandbox

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4