techno_memo

個人用の技術メモ。python・ROS・AI系のソフトウェア・ツールなどの情報を記載

git設定・コマンドまとめ

この記事の目的

 gitの設定・コマンドについてまとめる。(個人用メモ。逐次追記予定)

1. gitのインストールと初期設定

ubuntuでは下記コマンドでインストールする。

sudo apt install git

インストール後にuser名・メールアドレスを設定する。 (ユーザー名・メールアドレス未設定だとエラーが発生するので注意)

git config --global user.email "UserName"
git config --global user.email "EMail@example.com"

Proxyの設定 (社内ネットワーク等の場合のみ)

git config --global http.proxy http://[proxy]:[port]
git config --global https.proxy http://[proxy]:[port]

github連携設定 (パスワード入力を省力化できる)

qiita.com

git ignoreの指定

gitinitしたフォルダのうち、管理対象としたくないものを指定する。(拡張子・フォルダ名等の指定が可能) なお、gitでは空フォルダの管理ができないので、空フォルダを管理したい場合はダミーファイルを作成する必要がある。

qiita.com

2. gitコマンド

2.1 リポジトリの作成・クローン

ローカルで作成したフォルダからgitリポジトリを作成する場合 レポジトリを作成したいフォルダを作成、移動してgit initコマンドを実行することでgit repositoryが作成される。(.gitフォルダが生成される)

mkdir testFolder
cd testFolder
git init 

git init コマンドは下記オプションを利用できる。

option 説明
bare リポジトリをBareリポジトリとして作成する
shared 同じグループに所属するユーザーからのpushを許容する

BareリポジトリはWorking Folderを持たないので容量削減が可能 (開発者が操作しないファイルサーバー等に適した設定) 既に存在するレポジトリからローカルレポジトリを作成する場合git clone コマンドを利用する。

#github のレポジトリのclone (URLはブラウザで各レポジトリにアクセスし、"Code"ボタンから確認可)
git clone git@github.com:sd08419ttic/ros_tech_memo.git

#ローカルネットワーク上の他PCのレポジトリのclone
git clone "userName"@"192.168.XXX.XXX":"~/gitFolder"

git clone コマンドは下記オプションを利用できる。

option 説明
bare リポジトリをBareリポジトリとして作成する
shared 同じグループに所属するユーザーからのpushを許容する
branch cloneするブランチ名を指定する
depth 取得する履歴の個数を指定する

更新回数が多い巨大プロジェクトの場合、-- depth 1 オプションを指定することでファイルサイズの消費量を少なくすることができる。

2.2 ブランチの操作

下記でブランチの確認・追加・削除・移動を行う

#ブランチの確認
git branch

#ブランチの新規作成
git branch new branchName

#ブランチの削除
git branch -d branchName

#別ブランチへの移動
git checkout branchName

2.3 コミット操作

下記でローカルのレポジトリに加えた変更内容のコミットを行う。

# git add する前の変更点確認
git diff

#変更内容のadd #-aオプションですべてのファイル、 ファイル名の指定個別指定も可能 
git add -a 
git add test.txt

#addの取り消し
git reset HEAD

#git addしたファイルの変更点確認
git diff --cached

#コミット・メッセージの登録
git commit -m "initial commit"

#直前のコミットの削除
git reset --hard HEAD^

2.4 プル操作

下記でリモートブランチでの変更内容をローカルリポジトリにマージする。

#ローカルブランチ名origin、リモートブランチ名masterrの場合
git pull origin master

2.4 プッシュ操作

下記でコミットした内容をリモートブランチにpushする。

#コミットされている内容の確認(diff) (ブランチmasterを変更している場合)
git fetch origin
git diff HEAD..origin/master

#コミット内容のpush
git push origin master

参考資料