個人的gitコマンドのメモ
ずっとSourceTree使ってたんだけど、いちいちGUI開くのめんどいのでそろそろCUIで使えるようになりたいって感じです
とりあえずSourceTreeでやってたことのコマンドをメモっておく
例として下記のディレクトリ構成を想定する
$ tree . . ├── dir1 │ ├── dir1-1 │ │ ├── hoge.txt │ │ └── huga.py │ ├── dir1-2 │ │ ├── hoge.txt │ │ └── huga.py │ ├── hoge.txt │ └── huga.py ├── dir2 │ ├── dir2-1 │ │ ├── hoge.txt │ │ └── huga.py │ ├── dir2-2 │ │ ├── hoge.txt │ │ └── huga.py │ ├── hoge.txt │ └── huga.py ├── hoge.txt └── huga.py
gitの設定を確認する
$ git config -l # user.name,user.email,core.editor,color.uiを確認したかったら"-l"なしでやればいい $ git config user.name
ローカルリポジトリを作る
$ mkdir hoge $ cd hoge $ git init
ステージングにのってるか確認する
$ git status
ファイルをステージングに登録する
# カレントディレクトリ以下すべてを指定する $ git add * $ git add . # または $ git status $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: dir1/dir1-1/hoge.txt new file: dir1/dir1-1/huga.py new file: dir1/dir1-2/hoge.txt new file: dir1/dir1-2/huga.py new file: dir1/hoge.txt new file: dir1/huga.py new file: dir2/dir2-1/hoge.txt new file: dir2/dir2-1/huga.py new file: dir2/dir2-2/hoge.txt new file: dir2/dir2-2/huga.py new file: dir2/hoge.txt new file: dir2/huga.py new file: hoge.txt new file: huga.py # 特定ディレクトリ以下すべてを指定する $ git add dir1 $ git status On branch master No commits yet Changes to be committed: (use "git rm --cached <file>..." to unstage) new file: dir1/dir1-1/hoge.txt new file: dir1/dir1-1/huga.py new file: dir1/dir1-2/hoge.txt new file: dir1/dir1-2/huga.py new file: dir1/hoge.txt new file: dir1/huga.py Untracked files: (use "git add <file>..." to include in what will be committed) dir2/ hoge.txt huga.py
ステージングに乗っているファイルをコミットする
$ git add dir1 $ git commit -m "initial commit"
ローカルでコミットした内容をリモートリポジトリへプッシュする
$ git push origin master
リモートリポジトリの内容をプルする
$ git pull
ローカルの変更を破棄する
$ git checkout hoge
プッシュ前のコミットメッセージを修正する
$ git commit --amend -m
8/21 追加 そのうちちゃんと整理する
// ブランチを作って切り替え $ git checkout -b hoge // ブランチを作るだけ $ git branch hoge // ブランチを切り替える $ git checkout hoge // ブランチのリネーム $ git branch -m hogehoge // ブランチのプッシュ $ git push origin hogehoge // 作業ブランチをブランチからマスターに切り替える $ git checkout master // 今いるリポジトリがどのURLからcloneしたか確認する $ git remote -v