diadia

興味があることをやってみる

git やってみる

ライブラリを利用しようとしたところ、そのライブラリには不備があるらしく、第三者が手直ししたものが流通しているようだ。それを利用するためにgitがどうやら必要らしく??改めてgitを勉強する事になった。英語による動画でどんな感じでやるのか勉強していただけなので忘れてしまった。日本語できちんと理解しようと思う。
(内容)

  • git 初期設定
  • 基本的なワークフロー
    1. ローカル(個人)リポジトリを準備する
    2. ファイルの変更を行う。
    3. ファイル(変更)をステージングエリアに上げる。
    4. ローカルリポジトリに変更を記録する。
    5. リモート(共有)リポジトリを準備する。
    6. リモートリポジトリに変更を記録させる。
  • 各変更を取り消す

git 初期設定

git for windows

インストールはダウンロードはここから。インストールはすべてデフォルトの設定でインストールします。

#ユーザー情報登録
git config --global user.name "github name"
#user.nameはgithubに登録されている名前を使うようだ。違っていると問題かどうかはわからん。

git config --global user.email "github email"
git config --global core.editor "atom --wait"

mac

基本的にすでにインストールされている。gitのバージョン確認すればインストールされているかを確認できる。

#ユーザー情報登録
git config --global user.name "github name"
#user.nameはgithubに登録されている名前を使うようだ。違っていると問題かどうかはわからん。

git config --global user.email "github email"
git config --global core.editor "atom --wait"

登録内容の確認

git config --list
#または
git config user.name
#または登録情報は~/.git configにあるので以下のコマンドでも確認できる
cat ~/.git config

基本的なワークフロー

  1. ローカル(個人)リポジトリを準備する。
  2. ファイルの変更を行う。
  3. ファイル(変更)をステージングエリアに上げる。
  4. ローカルリポジトリに変更を記録する。
  5. リモート(共有)リポジトリを準備する。
  6. リモートリポジトリに変更を記録させる。
1と5に関しては一回作成したら次回は不要になる。

1.ローカル(個人)リポジトリを準備する

新規のプロジェクトをgitで管理したい場合は、新たにプロジェクトを開始するディレクトリをまず作成する。練習のためにテキストファイルでも作っておくとなお良い。それができたら、新たに作成したディレクトリにて、以下のコマンドを入力する。

git init

これでオッケイ。

ls -a
ちゃんとリポジトリができたか確認するコマンド .gitがあれば成功している

2.ファイルの変更を行う

ファイルの編集を行う。編集を行うだけではgitの変更は記録されない。

3.ファイル(変更)をステージングエリアに上げる。

ファイルの変更を記録するために、ステージングエリアに上げる。git add, git rm, git mvの種類がある。

git add file_name
#変更ファイルすべてをステージエリアに上げる場合は.を使う
git add .
git rm file_name
git mv old_file new_file

4.ローカルリポジトリに変更を記録する

git commit
git commit -m "message"
git commit -v 

どれでもオッケイ

git commit -mの場合は、editorを立ち上げることなくメッセージを追加できる。git commit -vの場合はどのような変更があったのかを確認することができる。
vimで編集

5.リモート(共有)リポジトリを準備する

リモートリポジトリを作成し、リモートリポジトリをローカルのgitに登録する必要がある。リモートリポジトリはgithubのnewrepositoryボタンを押して作成する。作成後git remote add ...というコマンドの類がgithub,bitbucketどちらでもページ上に表示される。それをコピーしてgit initしたディレクトリにてペーストする。するとgit にリモートリポジトリが登録される。これでプッシュの準備が整う。

git remote add [リポジトリ名] [リモートurl]

[リモートurl]を[リポジトリ名]で登録するって意味である。コピーした内容はoriginという内容で自分が作成したリモートリポジトリを登録している。以下のコマンドでリモートリポジトリが登録できたか確認することができる。

#リモートリポジトリを参照する
git remote
#リモートリポジトリurlを参照する
git remote -v

6.リモートリポジトリに変更を記録させる


git push -u origin master
一度-uオプションを付けたら次回以降はorigin master をつけなくても以下のコマンドで済む。参考:https://qiita.com/ironsand/items/6c301fef730d53f35bc3

git push

各変更を取り消す

  • ファイルを編集したがそれを元の状態に取り消したい場合
  • あやまってgit addしたけどなかったことに(取り消し)したい場合
  • あやまってgit commitしたけどなかったことに(取り消し)したい場合

ファイルの編集を取り消したい場合には、以下のコマンドを使う。

git checkout  --<ファイル名>
git checkout --<ディレクトリ名>
#全変更を取り消す場合
git checkout --.


git addでステージした変更を取り消す方法は以下のコマンドを用いる。


git reset HEAD <ファイル名>
git reset HEAD <ディレクトリ名>
#全変更を取り消す
git reset HEAD .

ステージから取り消すだけなのでこのコマンドを実行したからと言ってワーキングスペースのファイルには影響を与えない。ちなみにHEADとは最新のコミットのことらしい。



直前のコミットをやり直す。例えばコミットメッセージを書き直したいとかのケースに対応できる。


git commit --amend

イメージで言うと前回のコミットをなかったコトにしてこのコマンドで前回のコミットの代わりにするって感じ。リモートリポジトリにpushしたコミット内容はやり直してはだめ。

流れ git commit >>>>>間違いがわかる>>>>>ワークスペースで治りたいファイルに再編集>>>>git add.>>>>git commit --amendこういう感じ