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
  • 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する時に一つにまとめるという方法が主体みたいなので、このようにするしかないのかな??