Gitの練習2
勉強したコマンド
- git config user.name "hogehoge"
- git config user.email "exsample@exsample.com"
- そのリポジトリで使用される名前(メールアドレス)を設定。
- これが設定されていないとglobalの設定が使用される
- git config --global user.name "hoge"
- globalの場合はこうやって設定
- git config user.name
- 設定の確認
- git config --unset user.name
- 設定の削除
- 参考 : Githubに登録してみたので最初に使うgitコマンドを整理してみた。 - kanonji’s diary
- git add -n *
- 「git add *」で追加されるファイルの確認
- git status
- 変更されたファイルの確認
- git commit --amend
- コミット時のコメントの変更
- 追記 : コミット自体の取り消し。(上書き的なイメージ?)
- 参考 : http://d.hatena.ne.jp/ichhi/20110825/1314300975
- git log
- 変更履歴の確認
- qで終了
- git diff
- ファイルの差分を確認
職場でSSHの設定がうまくいかなかった。
どうやらポートが閉じているっぽいので、以下を参考に解決。
「git fetch」と「git pull」
リモートリポジトリが更新されている時に、更新箇所を取得する。
その際にgit pullでもできるようだけど、↓の記事に従って「git pull」は覚えない事にした。
Git pullを使うべきでない3つの理由 · DQNEO起業日記
なので、リモートリポジトリと同期を取りたい場合には「git fetch」してから「git merge」を行えばよいと。
で、「git fetch」をやってみたが、実ファイルは変更されていない。(ここまでは前情報通り)
「git merge」を実施。が、何も反応なし。メッセージすら出ない。
実ファイルも変更なし。
「git diff」やら「git status」を見るも何も変化なし。
で、もう一回記事を見なおしたら「git merge origin/master」を行うとのこと。
で、やってみたらファイルの変更あり!
「<<<<<<< HEAD」、「>>>>>>> origin/master」が付与されていたので、これを取ればいいのかな?
ってやってみたものの
both modified: LoginTable.js
っと出ててるのでダメっぽい。
master|MERGING
ってなっているから、マージ中って事か??
そもそも「git merge origin/master」もよくわかっていない。
indexが云々とかっというのもどこかで見たのでそれがこれかな?
この辺りもしっかり勉強しないと。
ただ、時間が遅いので今日はここまで。
他にやりたいこと
localでmasterにcommitしていた。
これをpushしようとした際に、履歴として残したくないcommitがある。
$ git log commit 67b6ee361078c4e7c8dcc104cc5cd2ef1083673f Author: yamap_55 <exsample@exsample.com> Date: Thu Jan 9 21:29:00 2014 +0900 リモートリポジトリには残したくないcommitを修正したcommit commit 0d626e872d63b55c8ab41424cc26567cad075087 Author: yamap_55 <exsample@exsample.com> Date: Thu Jan 9 20:28:07 2014 +0900 リモートリポジトリには残したくないcommit
これをこのままpushすると、当然残したくないcommitもリモートリポジトリに追加されてしまうと。
ローカルのコミットをまとめて一つのコミットとしてpushできるような気がしたんだけど、よくわからない。
調べたらローカルでbranch作って、masterにmergeする時に一つにまとめるという方法が主体みたいなので、このようにするしかないのかな??