参考
Repositoryのクローン
既存のGitリポジトリのコピーを取得したい場合に使うコマンドが、git clone
です。
git clone [URL]
Gitの設定
git config
コマンドで Git の設定をすることができます。
設定ファイルの確認
# 設定確認
git config --global -l
git config --system -l
git config --local -l
設定ファイルの設定
# リポジトリ単位で設定する手順を記載
cd <.gitファイルがあるディレクトリ>
# 設定の確認
git config --local -l
# 設定
git config --local user.name "<user.name>"
git config --local user.email "<email>"
# 変更後の設定確認
git config --local -l
基本操作
ファイルをGit管理下に置いたり、逆にGit管理下から除外したり
名前を変更したりといった基本的な操作を記載します。
ファイルの追加
-
まずはローカルで普通にファイルを追加する。
-
git addコマンドでgit管理配下にする。
git add [追加したいファイル]
ファイルの削除
- git の管理下に置かれている場合はgitコマンドで削除する。
- ファイルは残してgit管理下から外す場合
git rm --cached [削除したいファイル]
- ファイルも削除する場合
git rm [削除したいファイル]
ファイル名の変更,ファイルの移動
※ファイル名の変更をする場合はmoveとかWindows側でファイル名変更しない
git mv <ファイル名_old> <ファイル名_new>
更新を反映する
ファイルを作成し、Git管理下に登録したあと、変更をローカルに保存したり
リモートのRepositoryに保存した情報を反映させる手順を記載します。
差分の確認
変更したけれどもまだステージ('git add')していない内容を見るには、引数なしで git diff
を実行します。
この結果を確認することで、変更した内容のうちまだステージされていないものを知ることができます。
git diff
ステータスの確認
どのファイルがどの状態にあるのかを知るために主に使うツールが git status
コマンドです。
git status
ローカルリポジトリに変更を反映(commit)
ファイルを変更したり、新規ファイルを追加した内容をgit commit
でコミットすることができます。
git commit -a
## 変更されたファイル(新規を除く)をインデックスに追加し,コミットする
git commit -m "add new file"
## コミットメッセージを同時に指定
git commit -am "add comment"
ログの確認
何度かコミットを繰り返した後、どのような変更を行ったのか振り返ったり、
あるいはコミット履歴つきの既存のリポジトリをクローンした場合、過去にどのような作業を行ったのか確認する時に使いうのが git log
コマンドです。
git log
リモートのリポジトリの情報を取得(fetch)
データをリモートリポジトリから取得するにはgit fetch
を実行します。
このコマンドは、リモートプロジェクトのすべてのデータの中から自分が持っていない情報を取得します。
コマンド実行後は、リモートにあるすべてのブランチを参照できるようになり、いつでもそれをマージしたり中身を調べたりすることが可能となります。
git fetch
リモートリポジトリの情報をmerge
リモートリポジトリの情報を取得し、差分があった場合、mergeコマンドを実行して内容をローカルに反映することができます。(本当は逆の使い方の説明が先ですが、それは今度ブランチと合わせて記載予定。。。)
git merge origin/master
変更をリモートリポジトリにPUSH
更新を終え、共有できる状態になったら、自分の変更をリモートのリポジトリに共有します。
以下のコマンドを実行することで、変更内容をリモートに共有(PUSH)します。
git push origin master
おまけ
git ls-filesとかgit statusとか実行すると以下のようになったので解消方法のメモ
$ git ls-files
:
"002_git\350\207\252\345\210\206\347\224\250\343\202\263\343\203\236\343\203\263\343\203\211.md"
"003_Jupyter\343\201\256Docker\343\202\244\343\203\241\343\203\274\343\202\270\343\202\222\344\275\277\343\201\243\343\201\246\343\201\277\343\202\213.md"
:
日本語とか特殊文字のような"unusual" charactersは上のログのように二重引用符(")付きでエンコードされて表示されるようです。
git config コマンドでcore.quotepathをfalseに設定することで"unusual"として扱われないようにすると日本語が表示できるようになります。
# 全体に適用する場合
git config --global core.quotepath false
# ローカル(Repository単位)に適用する場合
git config --local core.quotepath false