Githubでよく使うコマンド

メモメモ…
修正,追記 (2015年11月04日)


git init
 これをしたディレクトリにリポジトリが作られる

こちらだと、git fetch とかした時にIDとPassの入力を求められる。sshの認証を使ったほうが楽
git clone http://github.com/ユーザ名/リポジトリ名.git
git clone git@github.com/ユーザ名/リポジトリ名.git
 このコマンドを打ったディレクトリに指定したリポジトリが複製される

git add **
コミットするファイルを選ぶ
git add .
とすると、変更されたすべてのファイル

git rm **
リポジトリから削除するファイルを選ぶ

git status
ローカルリポジトリで更新されたファイルを表示する
modified ***
deleted ***
とか出る。

git config core.filemode false
ローカルリポジトリのファイルのアクセス権限が変わった時の細かい通知を無視する

git commit
コミットする

パラメータの指定が出来る
-a
変更されたファイルを自動的にコミットする
新しいファイルはコミットされない

-m ‘ コミットメッセージ ‘
コミットメッセージの入力欄を表示させずに直接メッセージを書ける。

※ git push -f (–force)
 -f のパラメータを付けてpushすると、現在のローカルリポジトリの内容をそのままリモートリポジトリに反映する 危ない。


一連の動作
masterから新しくブランチを作成し、変更をリモートの新しいブランチにpushする

git fetch -p # リモートの最新情報を得る。 -pでremoveとかされたブランチ情報も得る
git checkout master # masterに移動
git pull origin/master # リモートのmasterに、ローカルのmasterをあわせる
git checkout -b ブランチ名 # 最新のmasterからブランチを作成する. ついでにブランチ移動
~~~~ いろいろ作業
git add . #作業内容をadd
git commit -m "コメントを書く"
git push origin ブランチ名 # ここをブランチ名にするとリモートに同名のブランチが作られる

複数のコミットを一つにまとめる (一つのIssueのコミットが複数の時とか) ※masterとかでやると歴史がぐちゃぐちゃになるので危険

## 現在のコミット状況

#--------------------------------------------------------
$git log
commit 2ea5684b3f09e705b3d483bcb67ad1dcc85952f8
Author: tlnk <tlnk@nknk>
Date:   Wed Nov 4 12:23:49 2015 +0900

    third

commit 43f8a21250b8ee973f0987659fa794fb0f5c7dca
Author: tlnk <tlnk@nknk>
Date:   Wed Nov 4 12:23:06 2015 +0900

    second

commit 4fa01a17e135461975f92210e7c64f032502bf94
Author: tlnk <tlnk@nknk>
Date:   Wed Nov 4 12:22:50 2015 +0900

    first

#--------------------------------------------------------
## これらの second と third をあわせる

$git rebase -i HEAD~~
## するとデフォルトでviが立ち上がる
#--------------------------------------------------------
pick 43f8a21 second
pick 2ea5684 third

# Rebase 4fa01a1..2ea5684 onto 4fa01a1 (2 command(s))
#--------------------------------------------------------

## squashにする

#--------------------------------------------------------
pick 43f8a21 second
squash 2ea5684 third
#--------------------------------------------------------

## :wq!  (保存して終了)
## とすると新しいコミットメッセージを書けるので、適当に編集

#--------------------------------------------------------
# This is a combination of 2 commits.
# The first commit's message is:

second

# This is the 2nd commit message:

third

↓

Composit commit
- second
- third

#--------------------------------------------------------
## あとは:wq!するとcommit内容が変わる
#--------------------------------------------------------
$ git log
commit 2486f6d667e654f81dabe623ad50282b1e675ac4
Author: tlnk <tlnk@nknk>
Date:   Wed Nov 4 12:23:06 2015 +0900

    second
    
    third

commit 4fa01a17e135461975f92210e7c64f032502bf94
Author: tlnk <tlnk@nknk>
Date:   Wed Nov 4 12:22:50 2015 +0900

    first
#--------------------------------------------------------

commitのハッシュ値も変わってしまっているので、このブランチをベースに作成していたブランチとmergeとかすると
conflict しやすい。なったら面倒なのでよく考えてやろう


メモメモ…

Atsumi3

したいことをします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください