startlab1
練習用リポジトリ(承認されたプロジェクトメンバー以外非公開)
mysite - ゼミのWebサイトを更新しよう!
Shellの基本
$ pwd
自分の現在地を表示する(Print Working Directoryの略)
$ dir
今いるディレクトリの中にあるファイルを表示する(macではls)
$ cd ディレクトリ名
ディレクトリの中に入る(Chenge Directoryの略)
$ mkdir 新規ディレクトリ名
新規ディレクトリ作成(Make Directory の略)
したいこと別 Gitコマンド一覧(基本編)
👽👽リモートリポジトリを自分のパソコン上にコピーしてきたい
リモートリポジトリ(BitbucketやGitHub)から、自分のパソコンへリポジトリをコピーしてきます。
これをクローンと言います。
$ git clone リポジトリURL
例:
※ この講義ではSSHではなくHTTPS形式でやります。理由はHTTPSの方が簡単に接続できるからです。
ただSSHは今後Git以外でも必要になってくる知識だとは思うので、余裕のある方は「Git SSH接続」等で検索して試してみてくださいねllminatoll.icon
📖履歴を見たい
コミット履歴を表示する
$ git log
コミット履歴を簡潔に表示する
$ git log --oneline
コミット履歴をグラフィカルに表示する
$ git log --graph
🐟ブランチを切り替えたい
今存在するブランチを一覧表示
$ git branch
ブランチを新規作成する
$ git branch 新規ブランチ名
ブランチを切り替える
$ git checkout ブランチ名
📸コミットしたい
❤️→💚 ファイル編集後、ステージする
$ git add ファイル名
コミット前に状態を確認する
$ git status
💚→📸 コミットする
$ git commit -m "ここにコミットメッセージを書く"
https://gyazo.com/0ca28db645dfab080e0538698734d001
コミットはカメラで、リポジトリはアルバム
Q「誤って作業中のソースをステージしてしまいました。どうすればいいですか?」
A: もう一度 $ git add ファイル名 するだけでOKですllminatoll.icon
Q「編集し終わったファイルを一気にステージするには?」
A: -A オプションを使います。 $ git add -A と打てば一度で全ファイルをステージできます!llminatoll.icon
☁️🔺リモートリポジトリに新規コミットを反映したい(push)
$ git push origin ブランチ名
☁️🔻リモートリポジトリから新規コミットを得たい(pull)
$ git pull origin ブランチ名
📸今いるブランチに、別のブランチを取り込みたい
$ git merge 取り込みたいブランチ名
例:リモートリポジトリのmasterブランチが進んだので、自分の開発中のブランチにもその変更を取り込みたい。
(理由:あとあとになって取り込むと差分が多すぎ、コンフリクトだらけになって大変かもしれないため)
$ git pull origin master
$ git checkout develop
$ git merge master
コンフリクトが起きたら
ファイルを開いて修正し、コミットし直します。
プルリクエストして、クラウド上でコンフリクトしたとき
GitHubはGitHub上でコンフリクトを解決できるんですが、BitBucketなど直接ファイルを編集できないものの場合は、自分のパソコンの中でマージします。
$ git pull origin ブランチ名(news-XX)
$ git checkout master
$ git merge ブランチ名(news-XX)
そのあと普通に編集 → add → commit → pushで完了です。
履歴を修正したいときのコマンド
✍️ 特定のコミットを打ち消したい 🔰初心者向け・安全
$ git revert コミットID
コミットメッセージを編集しなくていいときは --no-edit オプションを使うとそのまま新しいリバートコミットが記録されます
$ git revert --no-edit コミットID
📝直前のコミットメッセージだけを書き直したい
$ git commit --amend -m "コミットメッセージ"
🔥もっとハードなコマンドもあるけど…
コミット履歴修正系コマンドとして、コミットそのものを自在に消しとばすことができる reset というコマンドがあります😲🔥
というわけで、reset を使うのはGitに慣れてきてからでOK🌱
↓ reset を覚えるときは reflog もセットで覚えると安心です。Web連載で詳しく解説しているので余裕のある方は練習用リポジトリで実践してみてくださいねllminatoll.icon
必須ではないけど使えると便利なコマンド
📨 作業中の内容を一時保存・退避したい
$ git stash
$ git stash show
$ git stash pop
作業中の内容を
showで確認
popで復帰
「作業内容を今コミットしたくない」というとき、
一時的に変更内容を保存・退避させておけて便利です。
(例:まだコミットしたくないが、ブランチの切り替えをしたい)
👁変更前の差分を見たい
addする前に直前のコミットとの差分を見たい
$ git diff
ブランチ同士を比較したい
$ git diff ブランチA..ブランチB
コミット同士の差分を見たい
$ git diff 変更前のコミットID..変更後のコミットID
🍒特定のコミットだけ取り込みたい 🔰初心者向け・安全
$ git cherry-pick 取り込みたいコミットID
💚→❤️ ステージしたファイルを、ステージングエリアから下ろしたい
(addしたあとの状態から、addする前に戻したい)
$ git reset --mixed ファイル名
❤️→💥 作業ディレクトリ上の編集内容を取り消したい
(addする前の状態から、直前のコミットの状態に戻したい)
$ git checkout ファイル名
$ git reset --hard HEAD
※ reset --hard は引数にファイル名を指定できません。すべてのファイルが直前のコミットの状態に巻き戻ります。ファイル名を指定して reset --hard しようとすると、fatal: Cannot do hard reset with paths.と注意されてしまいます。
🕋新規リポジトリを作りたい
今回の実践ではすでにクラウド上にあるリポジトリをクローンしてきて使っているので、自分でリポジトリを作ることはなかったと思いますが、もし自分のパソコン上でリポジトリを作りたいなら任意のディレクトリの中に入って下記コマンドを打つだけでそのディレクトリがリポジトリ化します。(詳しくはこちらの記事で解説しています) $ git init
🌍helpをWebページで見る
$ git help コマンド名
Windowsだとブラウザが開いてGitのヘルプページが見られる
📝デフォルトのエディタを指定する
コミットメッセージを編集するときなどにデフォルトだとvimが開く。
vimに慣れていない場合、お好みのテキストエディタに変更することが可能。
$ git config --global core.editor "'インストール済みのエディタ.exeへのPass'"
例:emasを使う
$ git config --global core.editor emacs
$ git config --global core.editor nano
例:Notepad++を使う
$ git config --global core.editor "'C:\Program Files (x86)\Notepad++\notepad++.exe' -multiInst -notabbar -nosession -noPlugin"
(Notepadのインストール場所はそれぞれ違うと思うのでシングルクオーテーションの中は適宜書き換えることになりますllminatoll.icon
Visual Studio Codeに設定する方法もあるみたい
git configコマンドで、~/.gitconfig に設定が書かれます。
設定を確認するには
$ less ~/.gitconfig
📕Git が漫画でわかる本
講義の中では、時間の都合上、漫画の一部だけの紹介になりましたが
拙著『わかばちゃんと学ぶ Git 使い方入門』にたくさん詰まっています。
この本は、初心者向けにコマンドではなくクリックで操作できるツールを用いて、わかりやすく解説しています。
Amazonで試し読みできます!よかったらぜひ🌟llminatoll.icon
わかばちゃんと学ぶGit使い方入門
https://gyazo.com/936b08717df2eec6c22fca00601b94de