2013年1月15日火曜日

Github使ってみたけど…

あけました!(挨拶)(゚∀゚)


お仕事で使っているGithubクライアントが(Windowsだけらしいが)非常にじゃじゃ馬だったので乗り換え, Shellコマンド使ったので
メモメモφ(・ω・ )


Git Shell


github for windowsなんて名前だけならすっごい頼りになりそうなWindows用GitHubクライアントツール. ただ実際に使ってみると…

衝突したよ!→Shellで調整してね!
エラー起きたよ!→Shell開いて自分で見てね!

…GUI ? (・д・`)

と言った感じに…
いや確かに問題が起きてなければ簡単入力なGUIなんだけどね…?(・ω・`)
使い始めて数時間で
衝突が起きそうなファイルは周りの隙を見てpushする!
みたいなGUIではなくアナログな努力を費やす始末.
ってゆーか同僚は1日で見限ってた('A`)

そして訪れるGUIからいじれない(=消せない)警告.
仕方なく同梱されてたGit Shellから操作する方法のメモ.

1. 現在の状態を見るコマンド

git status
現在の自分の変更の状態を見るコマンド
現在いくつのファイルを
新規作成したか / 変更したか / 削除したか 
そのファイル名を列挙してくれる.

2. 変更を受け取るコマンド

git pull
GitHubにアップされている変更を受け取るコマンド, 基本. これをやらないといつまで経ってもボッチ開発者…(;ω;`)

git fetch
最新のリポジトリを取得する…らしい(未確認)
pullとの違いはマージしないことらしい. (= 衝突しやすそう Σ(||゚Д゚)ヒィィィィ )
ブランチが分かれたものが最後にコミットされている場合, 別ブランチのまま引っ張り出すらしい
…使わんとこ(・ω・`)

3. GitHubにアップするまでの流れ

a.
git add ファイル名
「変更した」ファイルを指定するコマンド. ここで指定したファイルは次の commit を行なう準備が整ったことになる.

b.
git commit ファイル名
「コミット」を行なうコマンド. オプションでコメントををつけない場合, テキストエディタが出現, コミットメッセージを要求してくる.

c.
git push
いよいよGitHubにアップするコマンド. アップするのは commit したもののみ. 特にオプションをつけなくても, たまっていた commit を全部アップしてくれる.
衝突注意(・ω・`)

マージコマンドは使って無いしわからないヽ('A`)ノ

4. オプション

git add -A
All のA? add にくっつけるとgit status で上がった変更したファイル全部をaddしてくれる.
ちなみにAが小文字だと, 変更だけをaddしてくれるらしい.

git commit -m "コメント"
3.-b でちょろっと書いた オプションでコメントをつける. ただしUTF-8で入力しないと文字化けするらしい.
英語頑張ろう…(・ω・`)

5. 表示からわかる現在状況

ここからはコマンドでは無いけれど


パス>[master +1 ~5 -3 | +0 ~2 -4]
という表示だった場合

    現在位置 : masterのブランチ
   (add済/未commit)のファイル : 新規1件, 変更5件, 削除3件
   (未add)のファイル                : 新規0件, 変更2件, 削除4件

    masterの文字色が水色→(commit済み/未add)のファイル 無し
    masterの文字が      →(commit済み/未add)のファイル 有り


ということらしい. なんか変な数字が残っていたらとりあえず git status で様子を見るといいかも.



ちなみにShellに移った理由は
どこからともなくアップされた挙句, 削除の commit がなかったのか, 居たことになってるらしい存在しないファイルの名前が… → 当然そんなファイルローカルじゃ見たこともあったこともないから処理できない → エラー
らしい
shellならその 削除した commitをpushできるので実行 → 見事エラーが消えました.
というだけのこと.
いったいどうなってたんだか… commit からじゃなく強引にファイルを除去しにかかったとかなんだろうか…






…今年も頑張ろう(・ω・`)

0 件のコメント:

コメントを投稿

AWS CDKで立てたEC2インスタンスのTimeZoneとかいじりたかった話

EC2を立てることはできたけど、立てたインスタンスは UTCのままだし設定ファイルとかいちいちscpしてくるのはダルい。 当初UserDataでなんとかしようとしたものの、「書く量がヤバいしメンテしにくい」と悩んでいたところ見かけたのが  AWS::CloudFormation:...