とりあえずのGitメモ

作業用にメモ。


Gitコマンド


git pushしたモノを取り消したい時

Terminalコマンド

cd / .....
で対象のディレクトリまで入る

git status
でまず状況確認

git log
ログが確認できる。ここで確認できるlog番号を色々使う

git revert コミット番号
revertする

git commit -m'コメント'
revertをcommitする

git push
(必要あれば )

git pull

git log
きちんと取り消されたか確認

git commit —amend
直前のcommitメモを修正

git revert commit番号でcommit番号のgit commitを取り消します。

あとはgit add --all して git pull + git pushでrevertをpushして完了。

git checkout commit番号 ファイル名 でファイルを復元。コミット番号を入れない場合は自分が作業する前の最新の状態で復元。

commit の コメントから出るときはCtrl + C

http://feb19.jp/blog/archives/000226.php

esc + :wqでvimから出る

何はなくともgit pullから

git pull -> git add --all -> git commit -m'コメント' -> git push



差分チェック

git diff コミット番号A コミット番号B

terminalには赤がA 緑がBで表示される

変更箇所が確認できる



コンフリクトした時

git pullしたらコンフリクトしたからマージしてと言われた

error: Your local changes to the following files would be overwritten by merge:

ディレクトリ名/ファイル名
Please, commit your changes or stash them before you can merge.

git pushしたい内容を一時的に作業場所から退避場所に退避

※git stashは一時退避エリアのこと

git stash save -u

git statusでちゃんと退避したかチェック

下記で退避場所に一時保存したファイルのリストが確認できる

git stash list

問題なければgit pull

pullした後に、一時退避させておいた中で、最新のモノを作業場所に戻す

git stash pop

これを行うとオートマージしてくれるかコンフリクトするか。

ここでコンフリクトしたらあとはhead>>>の目検確認。

今回はオートマージしたよと出たのでOK

Auto-merging ディレクトリ名/ファイル名

「Dropped refs~」が出たら、一時的によかしといたやつが無事に

マージできたので、一時退避のやつ消したよーとの意味

= 無事にマージ完了

Dropped refs/stash@{0} (.......)

※参考URL

transitive.info

http://transitive.info/article/git/command/stash/

無地にマージ完了したら、git statusで確認

問題なければadd → commit → push

git drop

stashを消したい時


Terminalでのdiffの見方

git diff --cached -w

「-」が更新前、「+」が更新後



git addを取り消したい時

git reset head

indexをheadに合わせる

参考にしたURL

http://d.hatena.ne.jp/murank/20110327/1301224770

http://labs.timedia.co.jp/2011/02/git-various-undo.html



git ignoreしたい時

■ git 管理していないファイルを無視したい

.gitignore ファイルに追加

■既に git 管理しているファイルをあえて無視したい

無視する・・・

git update-index --assume-unchanged [ファイル名]

git update-index --skip-worktree [ファイル名]

もとに戻す・・・

git update-index --no-assume-u!nchanged [ファイル名]

git update-index --no-skip-worktree [ファイル名]

確認・・・

git ls-files -v

使用するのは--skip~のもの。対象のファイルをスキップしますよ、の意味。

元に戻したい時は--no-skipを使用する。


[Git]

場所のことをリポジトリ

大元をforkしていく

testサーバ上にあるローカルリポジトリ

自分のPCをローカルマシン

ローカルリポジトリ

リモートリポジトリを管理できるwebサービスがgit hub

gitで特定のファイルだけ前の状態に戻したいときのコマンド

http://konbu13.hatenablog.com/entry/2014/12/01/070255

git l    gitをツリー構造で確認できる

※git log はpushしなくても、git commitしたら表示される。

git logにのってるけど反映されていない時はまずgit pushしてみる


Git Hub


クローンの方法

参考URL

http://qiita.com/masamitsu-konya/items/abb572337156e4d003cf


2018年11月追記


Git:ファイルの差分抽出&zipで圧縮

差分を正確にとってくれる+不要ファイル除外+ハッシュで好きな箇所からとれる。

SourceTree用ではなく、node.jsのmodle。

bashから実行コマンド、差分+除外ファイルリスト一覧がtable表示で確認できる。

今のところ、これが唯一正確。ありがたいです。

https://blog.wadackel.me/2016/git-diff-archive/