20201127のGitに関する記事は5件です。

個人でGitを使うときのコマンド

この記事について

  • 完全版私用メモ
  • ターミナルを使いまくる人ようかな?

コマンド一覧

ローカルにワークツリーを作る
>$ git init
>$ git config --global user.name [ユーザ名]
>$ git config --global user.email [メールアドレス]
>$ git add .
>$ git commit -F- <<EOM
#初回のみ
>$ git branch -M main
>$ git remote add origin [git path]
>$ git push -u origin main

説明(あまり使われないだろう箇所のみ)

  • git commit -F- <<EOM
    • コミット文を複数行打ち込むことができる
  • 初回のみ以下の3行
    • ブランチを作成してプッシュする
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

GitHubの基本

目次

Git用語集
よく使うLinuxターミナルのコマンド
Gitの初期設定
ローカルリポジトリの作成からプッシュまでの流れ
変更をコミットして、リモートリポジトリにプッシュするまでの流れ
様々な変更をコミットする
現在の状況を確認する
コミットされた状況を確認する
変更差分を確認する
管理しないファイルをGitの管理から外す
その他のGitコマンド

Git用語集

用語 解説
Git バージョン管理システムの名称
GitHub Gitで管理しているファイルをWeb上に保存できるサービスの名称
クローン リモートリポジトリをローカルにコピーする機能のこと
コミット ローカルリポジトリに変更履歴を記録すること。撮影台にセットしたファイルの写真を撮って記録するイメージ
コンフリクト 同じ行に同時に別々の修正がされたときに発生する事象
ステージングエリア コミットするファイルを置いておくためのエリアのこと。コミットする前の控室のイメージ。コミットするファイルを選択するためにある領域
チェックアウト 指定した時点のデータを作業ディレクトリにダウンロードすること。チェックアウトすると、任意のコミットへ自分を移動できる
フォーク 他人が公開しているリモートリポジトリを自分のアカウントにコピーする機能のこと
プッシュ ローカルリポジトリからリモートリポジトリへファイルの変更を共有すること。自分のPCにあるファイルをサーバー上にあげること
ブランチ 1つのプロジェクトから分岐させることにより、プロジェクト本体に影響を与えずに開発を行える機能のこと
プル リモートリポジトリからダウンロードすること。サーバー上にあるファイルを自分のPCにダウンロードすること
プルリクエスト 自分が変更した内容を取り込んでもらうよう依頼すること
ポインタ 今ココという意味。今自分がいるブランチを表す
マージ ブランチを統合すること
マスターブランチ 最初から存在するブランチのこと。本流。基本的にマスターブランチは本番用の最新のソースコードが保たれるようになっている
リポジトリ 過去の状態が記録されている貯蔵庫のこと
ローカルリポジトリ 手元のパソコン内のリポジトリのこと

よく使うLinuxターミナルのコマンド

コマンド名 解説
cd ディレクトリを移動
ls ディレクトリの内容を表示
ls -a 隠しファイルを含めたディレクトリ全内容を表示
mkdir ディレクトリを新規作成
rm ファイルを削除
cp ファイルをコピー
mv ファイルの移動とファイル名の変更

Gitの初期設定

1.Windowsの左下の「すべてを検索」に「Gitbush」と入力し、黒画面を起動します。

2.Gitのユーザー名を登録します。

git config --global user.name "githubのユーザー名"

3.Gitのメールアドレスを登録します。

git config --global user.email Githubで登録したメールアドレス

ローカルリポジトリの作成からプッシュまでの流れ

1.ローカルリポジトリを作成する

"git init"コマンドでリポジトリを新規作成します。initはinitializeの略で初期化という意味です。

cdコマンドで共有したいフォルダまで移動します。

cd ~/Desktop
cd ~/intro_git

lsコマンドで共有したいファイルが入っていることを確認します。

ls

git initコマンドでローカルリポジトリを作成します。

$ git init
Initialized empty Git repository in C:/Users/xxxx/Desktop/intro_git/.git/

ローカルリポジトリの作成に成功したかを確認します。。ls -aコマンドで隠しファイルを含むすべてのファイルを表示。".git"ファイルが表示されれば、ローカルリポジトリの作成に成功しています。

$ ls -a
./  ../  .git/  first.txt

2.ファイルの変更をステージングエリアへ追加する

$ git add ファイル名
./  ../  .git/  first.txt

3.ローカルリポジトリにコミットする

git commitと入力すると、Vimが立ち上がります。
半角英数字に切り替え、「i」を入力し、編集モードに切り替えます。

$ git commit

1行目にコミットのメッセージを入力します。Escボタンを押し、「:wq」を入力し、Enterボタンを押して保存します。

4.Github上でリモートリポジトリを作成する

Githubの自分のページに移動し、右上の+ボタンを押し、「New repository」を選択します。Repository nameに名前を入力し、Publicを選択し、「Create repository」を押します。

「…or push an existing repository from the command line」の1行目に表示されているコマンドをコピーします。GitにGithubを登録するコマンドです。

4.リモートリポジトリにプッシュする

コピーしたコマンドを右クリックのPasteで貼り付け、Enterを押します。GithubのユーザーIDとパスワードを求められるので入力します。

$ git push -u origin master

Githubのページに移動し、リロードします。リモートリポジトリが作成されました。

変更をコミットして、リモートリポジトリにプッシュするまでの流れ

ひとつの変更ごとに、1回コミットするのが原則です。

わかりやすいコミットメッセージの書き方

他のメンバーが見て、何をなぜ変更したのかがわかるようなメッセージにします。以下のフォームに統一して書くと良いでしょう。
1行目:変更内容の要約
2行目:カラ行
3行目:変更した理由

$ git add ファイル名 #ファイルごとにコミット
$ git add . #ドットをつけると全てのファイルをコミットするという意味

1.ステージングエリアへ追加

ファイルを更新し、保存します。git statusと入力すると、変更内容が表示されます。

$ git status
#On branch master
#Changes not staged for commit:
#  (use "git add <file>..." to update what will be committed)
#  (use "git checkout -- <file>..." to discard changes in working directory)
#
#        modified:   first.txt
#
#no changes added to commit (use "git add" and/or "git commit -a")

更新したファイルをステージングエリアに移動します。

$ git add .

git statusを入力します。メッセージが緑色になっていれば、ステージングエリアに移動できています。

$ git status
#On branch master
#Changes to be committed:
#  (use "git reset HEAD <file>..." to unstage)
#
#        modified:   first.txt

2.リポジトリにメッセージをつけてコミット

git commit -vと入力し、Vimを立ち上げます。"-v"と入力すると、どこを変更したの見ることができます。
1~3行目にコミットのメッセージを入力します。Escボタンを押し、「:wq」を入力し、Enterボタンを押して保存します。

$ git commit -v
``
git logコマンドでコミットが成功したかを確認します。コミットの記録が残っていれば成功です。

```sh
$ git log

3.リモートリポジトリに登録する

"git remote add"コマンドを使って、「このリモートリポジトリにプッシュするよ」という情報を登録します。

$ git remote add origin https://github.com/ユーザー名/リポジトリ名

"git push"コマンドを使って、ローカルリポジトリの内容をリモートリポジトリへ送信します。

$ git push origin master #originというリモートリポジトリへmasterブランチを送信するという意味

githubのページに移動し、右上の自分のアイコンを押し、"Your Profile"を選択すると、自分のページが表示されます。URLをコピーします。
ポップアップボックスが表示され、パスワードの入力してもうまくいかない場合は、gitの最新版をダウンロードしてください。解消します。

4.GitHubページでリモートリポジトリに変更履歴が登録されていることを確認する

行を選ぶと、行を選んだ状態のURLを生成できます。行を指定した状態で他の誰かにソースコードを共有したいときは、行を選択してから、URLをコピーしましょう。
「Raw」ボタンを押すと、ソースコードの生ファイルを見ることができます。
「Blame」ボタンを押すと、誰が何のために変更したかを見ることができます。

様々な変更をコミットする

ファイルの新規作成

ローカルリポジトリにファイルを追加します。
"git status" と入力すると、追加したファイルが表示されます。
"git add ファイル名"を入力して、ステージングエリアに移動します。
"git commit -v"を入力して、コミットします。

ファイルの削除

"rm ファイル名" と入力すると、ファイルを削除できます。rmはremoveの略です。
"ls"と入力して、フォルダに先ほど削除したファイルがないことを確認します。
"git rm ファイル名"と入力して、削除情報をステージングエリアに追加します。
"git commit -v"を入力して、コミットします。

複数ファイルの変更

複数のファイルを更新します。今回の例では、1つ目のファイルを変更、2つ目のファイルを削除しました。
"git add ."と入力して、全てのファイルの変更情報をステージングエリアに追加します。
"git commit -v"を入力して、コミットします。

現在の状況を確認する

"git status"で現在のリポジトリの状況がわかります。

nothing to commit, working tree clean:
コミットするものは何もなく、最新のコミットから何も変更されていないという意味。

Changes not staged for commit:
ステージングエリアに上げられていない変更があるという意味。git addでステージングエリアに上げます。

Changes to be committed:
ステージングエリアに上げられていて、コミットすべきファイルがあるという意味。git commitでコミットします。

コミットされた状況を確認する

"git log"コマンドでリポジトリにコミットされたログを確認します。
git log上で"j"と入力すると、下に移動できます。
git log上で"k"と入力すると、下に移動できます。
git log上で"q"と入力すると、git logを終了できます。

git log --oneline #一行で表示する
git log -p  #ファイルの差分を表示する
git log -p index.html #index.htmlファイルの差分を表示する
git log -n 3 #最新のコミット3つまでを表示する
git log --oneline -n 3 #最新のコミット3つまでを一行で表示する

変更差分を確認する

"git diff"コマンドでファイルの変更差分を確認します。diffはdifferenceの略です。

$ git diff #ローカルリポジトリとステージングとの差分
$ git diff HEAD #ステージングと最新コミットの差分

管理しないファイルをGitの管理から外す

.gitignoreファイルに指定することで、ファイルをGitno管理から外すことができます。
自動生成されるファイルや、サーバーのパスワードが記載されているファイルなどです。

.gitignoreファイルの書き方

'# から始まる行はコメント
指定したファイルを除外する場合は、ファイル名を記載します。
ルートディレクトリを除外する場合は、"/root.html"と記載します。
ディレクトリ以下を除外する場合は、"dir /"と記載すると除外できます。

コミットしてしまったファイルを管理から外す

git rmコマンドを使います。
ローカルリポジトリにはファイルを残しておきたいが、リモートリポジトリからはファイルを削除したい場合、"git rm --cached"と記載します。

.gitignoreファイルの作り方

テキストファイルgitignore.txtを作成します。
テキストエディタで開き、ルールを追加してから保存して閉じます。
gitignore.txtをローカルリポジトリに移動します。
SHIFTを押しながら移動先のフォルダを右クリックして 「Powershellウィンドウをここで開く」を選択
コマンドに、「ren gitignore.txt .gitignore」を入力して、Enterを押す。
「gitignore.txt」が「.gitignore」に変更されます。

その他のGitコマンド

$ git reset HEAD ファイル名 #もとに戻す
$ git checkout ファイル名 #リモートからローカルへダウンロードする
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

コードレビューしてもらうときのgitコマンドまとめ

毎回調べてる上にやらかしたので備忘録的に...

Githubにプルリクつくるまで

$ git add -A 
$ git commit -m "適切なコメント" 
$ git push origin <作業ブランチ名>
github上でなんやかんやしてプルリクを作る

プルリクOKでたら

github上でマージ(confirmなんちゃらまで押す)
$ git pull origin master 

ローカルのmasterに対してローカルの作業ブランチは基本的にmergeしない!

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

【超シンプル】Gitで作業中の変更情報を一時避難する方法【stash】



「緊急で対応しないといけない仕事ができた!ブランチを切り替えないといけない!でも今作業してるところで、まだコミット前の作業が残ってる。。。」

そんな時に便利なGitのコマンド stash について解説!実務でも使用する場面があるかもなので、まだ知らない方は必見!早速いきましょう!



stash

stashとは、ワーキングツリーやステージングエリアとは別の領域の事で、例えばワーキングツリーで変更した内容や、ステージングエリアに移動させた変更情報を、一時的に避難させる事(保存と同じような事)ができる領域になります。


ここでは主に、

  • stashへの避難のコマンド
  • stashした情報の確認コマンド
  • stashした情報の復元コマンド
  • stashした情報の削除コマンド

これらを解説していきます。



save

まずはstash領域に、現在のワーキングツリーの変更情報と、ステージングエリアに移動した情報を、避難させる方法です。コマンドはこちら。

$ git stash save

このコマンドを行うと、作業しているリポジトリ内が最新のコミットの状態に戻ります。その為、ワーキングツリーやステージングエリアの情報を気にせず、安心してブランチの切り替えを行うことができます。


また、saveコマンドは省略して、以下のように書く事も可能です。

$ git stash

どちらを使用しても動作自体は変わりません。



list

次にstashエリアに避難させた情報を、リストで表示して確認する方法です。コマンドはこちら。

$ git stash list

これは復元したい時に、スタッシュ名が必要になりますので、それの確認などに使用します。またstash情報が複数ある場合も、これで確認することができます。



apply

次にstashエリアに避難させた情報を、復元する方法です。コマンドはこちら。

<!-- スタッシュ名が *stash@{1}* のワーキングツリー情報を復元 -->
$ git stash apply stash@{1}

このコマンドは、ワーキングツリーの情報のみの復元コマンドになります。その為、ステージングエリアの情報までは復元されません。


もし、ステージングエリアも含めて復元したい場合のコマンドはこちら。

<!-- スタッシュ名が *stash@{1}* のワーキングツリー情報とステージングエリア情報を復元 -->
$ git stash apply --index stash@{1}

こちらのコマンであれば、ワーキングツリー情報に加え、ステージングエリア情報も復元することができます。



drop

最後にstashエリアに避難させた情報を、stashエリアから削除する方法です。コマンドはこちら。

<!-- スタッシュ名が *stash@{1}* のワーキングツリー情報とステージングエリア情報を削除 -->
$ git stash drop stash@{1}

stashエリアは、あくまでも作業を一時避難させる為のエリアです。そのため、stashエリアに情報を残しておくのは、あまり得策とは言えません。

もし復元が終わり、不要になったstashエリアの情報は、その都度消していくようにしましょう。


また、stashエリアに存在する全てのスタッシュを削除する場合のコマンドはこちら。

$ git stash clear

これでstashエリアが、まっさらな状態になります。





まとめ

Gitの使い方は、stashに限らず複雑に見られることが多いですが、蓋を開けてみたら今回のように、非常にシンプルと言うことが多いです。またstashコマンドは実務でも使用する機会があるかもしれないので、頭の片隅にでも覚えておくと、役に立つかもしれません。ぜひ習得してみてください!

最後までご覧いただき、ありがとうございました!






筆者:yuki|学習10日目で初案件獲得→現在はフルスタックエンジニア転職に向けて学習中
Qiita:https://qiita.com/yuki4839
Twitter:https://twitter.com/yuki35522891

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

よく使うgitコマンドまとめ

今回は自分なりによく使うgitのコマンドをまとめておこうと思います

gitの管理からファイルもしくはディレクトリを削除したい

間違って.idea等のディレクトリをコミットしてしまうことはあるあるです

そんなときは以下のコマンドで対象から外すことができます

git rm --cached [ファイル名] 

ディレクトリごと消したいときは

git rm --cached -r [ファイル名] 

です

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む