-
Notifications
You must be signed in to change notification settings - Fork 0
git_commands
YuuShigetani edited this page Oct 2, 2012
·
2 revisions
= = =
- date 2012/10/02
- author [YuuShigetani]
- tag [git]
- subtag [バージョン管理]
※わからないことがあれば闇雲にpushしたりする前に人に聞くこと→聞いたことをwikiに追加修正する
チュートリアルをする
以下の2つは絶対にする
$ git config --global user.name "名前(英語表記でフルネーム)"
$ git config --global user.email "メールアドレス"
$ git config --global color.ui auto
$ git config --global core.autocrlf false$ git clone git@github.com:y-d-yamashita/hogehoge.git$ git add .
$ git commit -m "コメント"
$ git push$ git pull※他人のコードを勝手に消さない!自分で判断できない場合はコードを書いた人に相談する
<<<<<<< HEAD:templates/myapp/res_list.html
<dt id="textbody">{{ object.textbody|linebreaks }}</dt> // 自分のコード
=======
<dt id="textbody">{{ object.textbody|linebreaksbr }}</dt> //リモート側のコード
<div id="tagblock">
>>>>>>> 656256af16ad5e4da14490a70d25eb4e415fca60:templates/myapp/res_list.html
HEADから===までが自分のコード===から>>>までがリモートのコード
<dt id="textbody">{{ object.textbody|linebreaksbr }}</dt> //リモート側のコード
<div id="tagblock">
HEADから===までと>>>の一行を削除
<dt id="textbody">{{ object.textbody|linebreaks }}</dt> // 自分のコード
HEADと===から>>>までを削除
両方残しても良い。どんな場合でもHEADと===と>>>は削除しなければならない。
必ずissuesを立て、assignedを指定し、指定されたものがブランチを切る。
半角英数文字、記号は「.」「-」「_」のみ
機能追加の場合はかならずfeatureとはじめにつける。
issuesの番号をブランチの種類(featureなど)のあとにつける。
例)feature#11-authentication-function
// 現在作られているbranchを見る
$ git branch -a
// localにbranchを作成
$ git checkout -b new_branch
// branch間の移動
$ git checkout branch_name
// localのbranchにサーバ上のbranchからのデータをpull
$ git pull origin branch_name
// localのbranchからサーバ上のbranchにデータをpush
$ git push origin branch_name
// branchのbranchのデータを別のbranchにマージ
// * merge先のbranchに移動した後,
$ git merge merge元
// localのbranchを削除
$ git branch -d branch_name
// サーバ上のbranchを削除(*注意)
$ git push origin :branch_name
// branch作成、削除のlogを見る
$ git show-branch
// 現在いるbranchの変更(commitしてなく、したくない)があるが、branchを移動したいとき
$ git stash //変更を横にのけておく
$ git checkout master //master branchに移動
edit ... //編集
$ git add
$ git commit
$ git checkout version0.2 //0.2に戻る
$ git stash pop //横にのけてた変更を戻す
// コミット時点にローカルの状態に戻したいとき
$ git reset --hard sha1 <- ワーキングツリーも戻す
$ git reset --soft sha1 <- ワーキングツリーはそのまま、HEADだけ戻す
$ git reset --mixed <- indexの変更を戻す
example...
$ git reset --hard ORIG_HEAD //直前のマージの取り消し
$ git reset --soft HEAD^ //直前のコミットの一つ前にHEADを戻す
$ git reset --hard @{1} //直前のrebaseの取り消し
// ブランチを、指定したブランチの最新コミットへパッチとして適応する
// 結果はほとんどマージと同じだけど、リモートリポジトリの場合はこちらの方がいい
1.$ git checkout topic_branch
2.$ git rebase master //masterへtopic_branchをパッチとして当てる
途中でコンクリフトした場合
$ git rebase --continue //コンクリフトを修正して、rebaseを続ける
$ git rebase --abort //中断
コミットを加工して、パッチを当てる
2.$ git rebase -i master
すると、編修画面が出てくる
pick -> パッチを当てる
reword -> コミットメッセージの編修
edit -> コミットの編修
squash -> 直前のコミットにまとめる
fixup -> 直前のコミットにまとめて、メッセージを削除
行ごと削除-> そのコミットを適応しない
// local branchを特定のorigin branchを追跡させる
$ git branch --set-upstream branchname origin/branchname