ずっと避けてたgitに挑戦。
ベアーリポジトリ(共有)を作成
git init --bare --shared=true
※ベアーリポジトリはワークツリーを持たない。
naokirin.hatenablog.com/entry/20111201/1322576109
リポジトリからcloneを作成する
git clone [repo_dir|url]
※ベアーリポジトリからcloneするとワークディレクトリが自動作成される。
git remote -v
git remote set-url origin https://gitlab.com/aaa/bbb.git
ワークツリーのファイルをステージングエリアに追加
git add [filepattern] // ファイルを指定 git add . // すべてのファイル
ステージングエリアの情報をリポジトリに登録する
git commit -m "コメント文" // -mオプションでエディタを起動しないでコメントを入力できる git commit -a // 変更が加えられたファイルを自動検出してコミット。ただ、新規ファイルは対象外。
ステージングエリアをgitリポジトリの状態に戻す
git reset HEAD [file]
ワークツリーをステージングエリアの状態に戻す
git checkout -- [file]
ファイルを削除する
git rm [file]
transitive.info/article/git/command/rm/
ファイルやディレクトリを移動する
git mv file.txt dir
リネーム
git mv old.txt new.txt
ファイルの変更点を確認
git diff [file]
コミット間の変更ファイル一覧を出力する
git diff --stat [commit] [commit]
データ領域を指定コミット状態に戻す
git reset --hard HEAD^
ワークツリーの状態を見る
git status
コミットログを見る
git log
プル
git pull origin master
マージ
git merge origin master
ローカルブランチを削除
git branch -d BRANCH_NAME
リモートブランチを削除
git push origin :BRANCH_NAME
remoteブランチに関するtrack情報を消す 参考
git remote prune origin --dry-run //対象ブランチの確認 git remote prune origin // 実際に消す
リモートブランチが表示されないときは下記を実行
git fetch origin
リモートブランチをローカルにチェックアウトする
git checkout -b LOCAL_BRANCH_NAME origin/BRANCH_NAME
プッシュ
git push [リポジトリ] [ブランチ名]
push に -u オプションを付けるとpush やpullでリポジトリを省略できる
gitignoreでgit管理から除外するファイルを指定
qiita.com/rohinomiya/items/3629eafcd3786a973391
github.com/github/gitignore
空のディレクトリをgit管理の対象にする
ディレクトリに.gitkeepを作成しておく。
中は空でOKで、ファイル名は.gitkeep以外でもOK。
リモートリポジトリとの差分を見る
tm.root-n.com/unix:command:git:operation:diff_from_remote_to_working
1) リモートからデータ取得する(ワークツリーにマージはしない)
git fetch origin
2) 1で取得したデータとワークツリーの差分をみる
git diff HEAD..FETCH_HEAD
新しいブランチの作成
ローカルブランチ作成する。
git branch NEW_BRANCH_NAME
現在のbranchの確認
git branch -av
リモートブランチに追加されたか確認
git branch -av
ブランチの切替
git checkout NEW_BRANCH_NAME
リモートブランチにNEW_BRANCH_NAMEを登録する。
git push origin NEW_BRANCH_NAME
.gitignoreを反映させる
git rm -r --cached . git add . git commit -m ".gitignore is now working"