document

Top / document / git tips

git add

file.txt を追加するには

git add file.txt

とする。また、「*.txt」 とすると拡張子 .txt のファイルをすべて追加できる。

git add *.txt

ディレクトリの中のファイルを再帰的にインデックスに追加する

単にディレクトリ名を指定する。「dir」というディレクトリの中にあるファイルをインデックスに追加するには

git add dir

git rm --cached ファイル自体は削除せずにインデックスからのみ削除する

git rm --cached file.txt
git rm --cached ./dir/dir/*.class

gitignoreファイルに追加する前に、登録してしまって、ファイル自体は削除したくないけど、gitの追跡範囲から除外したいときに。

transitive.info - git rm 使い方 <http://transitive.info/article/git/command/rm/>

git 他の人のpushと競合したとき

http://d.hatena.ne.jp/Snaka/20100504/1272993155

git checkout 強制

git checkout -f [ブランチ名]                                                        作業ツリーの状態を問わず、強制的にチェックアウトする

http://www.kanasansoft.com/weblab/2009/11/pragmatic_version_control_using_git_by_debianguru.html

手動で多めのファイルをマージしたいとき 新しくcloneで持ってきてディレクトリで比較

本当はよろしくないんだけど、、、

Linuxのmeldを使ってディレクトリを比較しながら手動マージするときに便利だった。

まずclone用のディレクトリを作って、その後に特定のbranchを取ってくる。

$ git clone ssh://user@xxxxxxx.co.jp:1234/yyyy/zzzz/git/pj_name
$ git branch aaaa remotes/origin/pj_branch
$ git checkout aaaa

その後、meldで「フォルダの比較」という機能を使う。

cherry pick 関連

cherry pick conflict

git checkout --ours ファイル名
git checkout --theirs ファイル名

でも、これ一個、一個コンフリクト解消するためにファイルを直すのって結構、
手間なんですよ。 もちろんファイルを見るのは必須ですが、 
このファイルは、cherry-pick前の内容を優先したい、このファイルは、
cherry-pick後の内容を優先したいなどがある時があります。

git cherry-pickで起きてしまったconflictの解消方法【--ours、--theirs】 - <http://naiki.hatenablog.com/entry/20140219/1392740162>

git cherry-pick --continue
git cherry-pick --quit
git cherry-pick --abort

Git - git-cherry-pick Documentation <https://git-scm.com/docs/git-cherry-pick>

自分の場合は、conflictの解消後

git add XXX.txt

とした後に

git cherry-pick --continue

でcherry-pickができた。

その他

git rebase

ブランチから変更を取り出して、それを一つにする

$ git checkout -b alternate master

ブランチを作ってチェックアアウト Switched to a new branch 'alternate'

$ git log -p

メッセージのほかにコードの差分も少し表示してくれる

$ git log --since="24  hours"
$ git log --since="2012-11-12"
$ git log --before="2012-11-12"

時間指定でフィルターできる

$ git commit -C HEAD -a --amend

前の(HEAD)のちょっとした修正。コメントを入れる必要がなくなる

$ git commit -c HEAD -a --amend

(小文字)だと、前のコミットメッセージを修正することもできる

http://www.goto.info.waseda.ac.jp/~wei/weiki/index.php?log%2F2012-11-13

参考リンク

transitive.info - git add 使い方 http://transitive.info/article/git/command/add/#git-01-add-directory


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-10-07 (水) 17:44:19 (1348d)