- GitとGitHubを知らない
- 言葉だけ聞いたことがある
- GitとGitHubとはなにかを知る
- 使い方を知る
- バージョン管理ツール
- ファイルの変更履歴を管理できる
- いつ、だれが、なにを、どんなふうに変更したのかがわかる
- 自他の変更したコードを簡単に共有できる
- 現代の開発シーンにおいて必須なツール
- Gitを使うのが当たり前、むしろGitを使えない開発に困る
- プログラマーとして必須のスキルといっても過言ではない
- ファイルを格納する場所を リポジトリ と呼ぶ
- 一般的にリポジトリと言ったらソースコードが保存されているんだなと考えておけば良い
- 共有リポジトリという大本があって、そこにデータが保存されている
- 作業者は自分のPCに共有リポジトリを clone して作業する
- ファイルを編集して変更を commit で記録する
- 記録した変更を共有リポジトリに push して更新する
-
複数人で簡単にファイルの変更を共有できる
例) Aさんの修正した内容を最低2つのコマンドを打つだけで自分のファイルに反映できる$ git fetch origin master $ git rebase origin/master
-
コミット(記録)した時の差分がわかる(いつ、誰が、なにを、どのように変更したのか)
commit 51d2e0539a034dab1f43650efa8b68284a937eac Author: skanehira <sho19921005@gmail.com> <------------------------- だれが Date: Mon Sep 7 17:17:58 2020 +0900 <----------------------------- いつ add GhPulls diff --git a/autoload/gh/gh.vim b/autoload/gh/gh.vim <-------------- 何を index 1be285b..1138859 100644 --- a/autoload/gh/gh.vim +++ b/autoload/gh/gh.vim @@ -70,6 +70,11 @@ function! s:pull_diff() abort <------------------ どのように \.catch(function('gh#error')) | endfunction | | +function! gh#gh#pulls(arg) abort | + let args = split(a:arg, '/') | + call execute(printf('new gh://%s/%s/pulls', args[0], args[1])) | +endfunction | + | augroup gh-pulls | au! | au BufReadCmd gh://*/*/pulls call s:pull_list() | diff --git a/plugin/gh.vim b/plugin/gh.vim | new file mode 100644 | index 0000000..7f83baa | --- /dev/null | +++ b/plugin/gh.vim | @@ -0,0 +1,10 @@ | +" gh | +" Author: skanehira | +" License: MIT | + | +if exists('loaded_gh') | + finish | +endif | +let g:loaded_gh = 1 | + | +command! -nargs=1 GhPulls call gh#gh#pulls(<f-args>) -------------------+
-
特定のコミットの状態に戻すことができる
例) バグが発生していない時の状態に1コマンドで戻せる# 51d2e05 からの変更を取り消す git reset 51d2e05
実際これからGitの基本操作を勉強する見る前に、まずいくつかの用語について説明をする
用語 | 説明 |
---|---|
repository(リポジトリ) | データの貯蓄庫 |
remote repository(リモート リポジトリ) | リモートにある貯蓄庫 |
branch(ブランチ) | 履歴を記録するもの(詳細は後述) |
add(アド) | インデックスに追加(詳細は後述) |
commit(コミット) | 現在の変更を記録 |
-
ブランチについて
リポジトリを作成した時点でmaster
というブランチが作られる
このブランチというのは履歴を記録して貯めるもの ブランチをたくさん作ることができ、それぞれのブランチは他のブランチの変更の影響を受けない
木の枝が生えていくが生えていくイメージ(branchは枝という意味)
サル先生のGit入門より -
コミットまでの流れについて
コミットまでに2ステップがある
変更したファイルをaddしてインデックスに追加
インデックスに追加されたものをコミットして記録を残す
バージョン管理システム入門より
repository(データの貯蓄庫)は複数のbranch(記録を貯める場所)を持つことができ、
1つのbranchで複数のコミット(記録)を持つことができる
こちらを参照
インストール後、コミットした人がわかるように、 Gitのユーザ名とメールアドレスを設定する必要がある
$ git config --global user.name "skanehira"
$ git config --global user.email "sho19921005@gmail.com"
コマンド | 説明 |
---|---|
git init |
今のディレクトリをリポジトリにする |
git status |
今のブランチの状態 |
git add |
インデックスに追加 |
git commit |
変更を記録 |
git diff |
変更の差分を確認 |
git reset |
特定の変更まで戻す |
git log |
変更履歴 |
git switch/checkout |
ブランチの作成と切り替え |
共有リポジトリを管理してくれる便利なサービス
世界中の多くのOSSがGitHubで公開されている
こちらを参照して、アカウント作成とSSHキーの設定を行う
こちらを参照してリポジトリを作成
作ったリポジトリにファイルを追加する
git clone
git add
git commit
git push
- https://git-scm.com/book/ja/v2 (公式の本)
- https://kitsune.blog/git-summary
- https://zenn.dev/alex/articles/1a0baa652954bfdbe4f6
- https://www.zest-shop.com/blog/kisarazu/31183
- https://laboradian.com/git-installation-on-wndows/
- https://backlog.com/ja/git-tutorial/
- https://tech-blog.rakus.co.jp/entry/20200529/git