git/Tips
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
&tag(git);
*目次 [#x329001c]
#contents
*関連情報 [#s71ea7b7]
-[[git]] / [[github]]
*使い始め [#q1580307]
**ローカルリポジトリの作成 [#g20f9c3b]
-プロジェクトディレクトリでローカルリポジトリを作成してコ...
#pre{{
$ cd <PROJECT_HOME>
$ git init
$ git add .
$ git commit -a -m "first commit"
}}
**リモートリポジトリの作成 [#p4227c9b]
- /home/repository/sample.gitディレクトリに空のリポジトリ...
#pre{{
$ mkdir -p /home/repository/sample.git
$ cd /home/repository/sample.git
$ git --bare init
}}
-オリジナルワークツリーの内容をpush
#pre{{
$ cd <PROJECT_HOME>
$ git remote add origin /pub/repository/sample.git master
$ git push origin master
}}
-二カ所目でclone
#pre{{
$ git clone firstmac:/pub/repository/sample.git
}}
**編集→コミットまでの流れ [#cc21f3a6]
-ファイル編集
- 新規ファイルがある場合はgit add .
- git commit -a
*戻したい [#i2bacc30]
-[[gitでアレを元に戻す108の方法 - TIM Labs:http://labs.ti...
-基本的にgit resetを使う。resetの引数はsoft、mixed(デフォ...
--soft: ワークツリー、インデックスそのまま。
--mixed: ワークツリーそのまま、インデックスは取り消す。
--hard: ワークツリー、インデックスを変更。
-すなわちcommit直後にresetを実行する場合、"git reset HEAD...
**最後にcommitした状態にもどしたい [#c8104ecf]
-checkoutした状態に戻したい場合など
git reset --hard HEAD
-ゴミがある場合(gitで管理していないファイルが追加されてた...
git clean -df
**commitしたときに余計なファイルやフォルダを追加したこと...
-ワークスペースの状態だけ保ちインデックスやコミットを戻す。
git reset HEAD^
**過去のcommitに戻したい [#n2b3eee0]
-以前のcommitに戻したい場合、git logなどでハッシュ値を確...
git reset --hard xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-これだけだと新規追加したファイルが残るのでuntracked file...
git clean -df
**途中のcommitをなかったことにしたい [#af0f5092]
-git revertを使うとよい? http://labs.timedia.co.jp/2011/...
*除外したい [#r890f8ef]
**.gitignoreに追加しそのファイルを管理外にしたい [#f9415b...
-[[How to make Git "forget" about a file that was tracked...
-以下のコマンドで削除できる。
#単体のファイル
git rm --cached <file>
#フォルダ全体
git rm -r --cached <folder>
*履歴を確認したい [#l98d7b4e]
**diffを確認したい [#de52581d]
-"-p"オプションを使う
git log -p README.md
*コンフリクトの解消 [#pb4a45c0]
**git pullでコンフリクトしたときの対処法 [#g0fb6122]
*** 参考情報 [#aed6b68f]
-[[Force git to overwrite local files on pull. - Stack Ov...
*** 前回git pullした状態に戻す [#v769389d]
-一回もローカルリポジトリにcommitしてない場合
git reset HEAD
-ローカルファイルに変更があってそれもなくす場合
git reset --hard HEAD
-一回コミットしていた場合は、HEADの場合にHEAD^を使えばよ...
git logなどして確認する。
**git rebaseでコンフリクトしたときの対処法 [#oc18ed15]
-[[なぜ git rebase master はコンフリクトしたとき master ...
-developブランチでmasterをrebaseしようとしたときにコンフ...
git checkout develop
git rebase master
-テキストファイルの場合衝突したファイルを修正。バイナリフ...
git checkout --ours demo.txt(この場合master側を使う)
git checkout --theirs demo.txt(この場合develop側を使う)
-その後
git add demo.txt
git rebase --continue
※rebaseの場合、masterをチェックアウトし(masterがoursにな...
*ブランチ [#aa1a1878]
**全部ランチをpush [#te94269c]
-通常masterブランチをpushするが場合によってはfeatureブラ...
git push -u origin --all
**ブランチを同期する [#q435d653]
-[[gitのリモートブランチを使って作業を行う流れのメモ - 那...
-[[Git - リモートブランチ:https://git-scm.com/book/ja/v1/...
-作業中のブランチはトピックブランチのこともある。そのブラ...
-リモートブランチにトピックブランチをpush。
git push origin issue-99
-別のマシンでリモートブランチをチェックアウト
git checkout -b issue-99 origin/issue-99
-同じくpushする。
git push
-push元では--set-upstream-toを指定しないといけないかも
git branch --set-upstream-to=origin/issue-99 issue-99
-作業完了後はブランチを削除
#pre{{
git branch -d working
git branch -r -d origin/working
git push origin :working
}}
-[[今さら聞けないgit pushコマンド - shoma2da's diary:http...
**ベンダーブランチの管理 [#ba9d78b7]
***Gitで管理されていない上流ソースの管理 [#r49c7e66]
-[[Vendor branches in git | Jabbering Giraffe:http://happ...
-[[How do I import a third party lib into git? - Stack Ov...
-そのソース用に専用gitリポジトリを作って毎回インポートし...
***Gitで管理されているソースの管理 [#jc067ce0]
-submoduleで管理するのが簡単?[[[git 1.6.0.2] submoduleを...
*その他Tips [#c2eb3ef6]
**サブモジュールを使う [#mae9fb07]
-[[git submodule - みずぴー日記:http://d.hatena.ne.jp/mzp...
-[[[git 1.6.0.2] submoduleを使おう!その1:add, status - ...
-[[[git 1.6.0.2] submoduleを使おう!その2 - satoko's blog...
**空フォルダを管理する [#xd050ab3]
-フォルダに空の.gitignoreファイルを置く。
**Subversionからの移行 [#a958bb0c]
-Windows以外の環境は安定してるようなのでWindowsがからまな...
-GUIクライアントはなくてもまあ大丈夫か。
-[[SubversionからGitへの移行をオススメする7つの理由 - ak...
**PC/デスクトップで作業を同期 [#m3e463bf]
-commit単位を記にしなくて良いなら、中央リポジトリを使って...
-[[リモートのgitブランチをローカルにチェックアウトする - ...
-[[remote に branch を push し、remote から clone したリ...
**機密情報のチェック [#y0e95fdf]
-git-secret
-[[secretlint/secretlint: Pluggable linting tool to preve...
終了行:
&tag(git);
*目次 [#x329001c]
#contents
*関連情報 [#s71ea7b7]
-[[git]] / [[github]]
*使い始め [#q1580307]
**ローカルリポジトリの作成 [#g20f9c3b]
-プロジェクトディレクトリでローカルリポジトリを作成してコ...
#pre{{
$ cd <PROJECT_HOME>
$ git init
$ git add .
$ git commit -a -m "first commit"
}}
**リモートリポジトリの作成 [#p4227c9b]
- /home/repository/sample.gitディレクトリに空のリポジトリ...
#pre{{
$ mkdir -p /home/repository/sample.git
$ cd /home/repository/sample.git
$ git --bare init
}}
-オリジナルワークツリーの内容をpush
#pre{{
$ cd <PROJECT_HOME>
$ git remote add origin /pub/repository/sample.git master
$ git push origin master
}}
-二カ所目でclone
#pre{{
$ git clone firstmac:/pub/repository/sample.git
}}
**編集→コミットまでの流れ [#cc21f3a6]
-ファイル編集
- 新規ファイルがある場合はgit add .
- git commit -a
*戻したい [#i2bacc30]
-[[gitでアレを元に戻す108の方法 - TIM Labs:http://labs.ti...
-基本的にgit resetを使う。resetの引数はsoft、mixed(デフォ...
--soft: ワークツリー、インデックスそのまま。
--mixed: ワークツリーそのまま、インデックスは取り消す。
--hard: ワークツリー、インデックスを変更。
-すなわちcommit直後にresetを実行する場合、"git reset HEAD...
**最後にcommitした状態にもどしたい [#c8104ecf]
-checkoutした状態に戻したい場合など
git reset --hard HEAD
-ゴミがある場合(gitで管理していないファイルが追加されてた...
git clean -df
**commitしたときに余計なファイルやフォルダを追加したこと...
-ワークスペースの状態だけ保ちインデックスやコミットを戻す。
git reset HEAD^
**過去のcommitに戻したい [#n2b3eee0]
-以前のcommitに戻したい場合、git logなどでハッシュ値を確...
git reset --hard xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-これだけだと新規追加したファイルが残るのでuntracked file...
git clean -df
**途中のcommitをなかったことにしたい [#af0f5092]
-git revertを使うとよい? http://labs.timedia.co.jp/2011/...
*除外したい [#r890f8ef]
**.gitignoreに追加しそのファイルを管理外にしたい [#f9415b...
-[[How to make Git "forget" about a file that was tracked...
-以下のコマンドで削除できる。
#単体のファイル
git rm --cached <file>
#フォルダ全体
git rm -r --cached <folder>
*履歴を確認したい [#l98d7b4e]
**diffを確認したい [#de52581d]
-"-p"オプションを使う
git log -p README.md
*コンフリクトの解消 [#pb4a45c0]
**git pullでコンフリクトしたときの対処法 [#g0fb6122]
*** 参考情報 [#aed6b68f]
-[[Force git to overwrite local files on pull. - Stack Ov...
*** 前回git pullした状態に戻す [#v769389d]
-一回もローカルリポジトリにcommitしてない場合
git reset HEAD
-ローカルファイルに変更があってそれもなくす場合
git reset --hard HEAD
-一回コミットしていた場合は、HEADの場合にHEAD^を使えばよ...
git logなどして確認する。
**git rebaseでコンフリクトしたときの対処法 [#oc18ed15]
-[[なぜ git rebase master はコンフリクトしたとき master ...
-developブランチでmasterをrebaseしようとしたときにコンフ...
git checkout develop
git rebase master
-テキストファイルの場合衝突したファイルを修正。バイナリフ...
git checkout --ours demo.txt(この場合master側を使う)
git checkout --theirs demo.txt(この場合develop側を使う)
-その後
git add demo.txt
git rebase --continue
※rebaseの場合、masterをチェックアウトし(masterがoursにな...
*ブランチ [#aa1a1878]
**全部ランチをpush [#te94269c]
-通常masterブランチをpushするが場合によってはfeatureブラ...
git push -u origin --all
**ブランチを同期する [#q435d653]
-[[gitのリモートブランチを使って作業を行う流れのメモ - 那...
-[[Git - リモートブランチ:https://git-scm.com/book/ja/v1/...
-作業中のブランチはトピックブランチのこともある。そのブラ...
-リモートブランチにトピックブランチをpush。
git push origin issue-99
-別のマシンでリモートブランチをチェックアウト
git checkout -b issue-99 origin/issue-99
-同じくpushする。
git push
-push元では--set-upstream-toを指定しないといけないかも
git branch --set-upstream-to=origin/issue-99 issue-99
-作業完了後はブランチを削除
#pre{{
git branch -d working
git branch -r -d origin/working
git push origin :working
}}
-[[今さら聞けないgit pushコマンド - shoma2da's diary:http...
**ベンダーブランチの管理 [#ba9d78b7]
***Gitで管理されていない上流ソースの管理 [#r49c7e66]
-[[Vendor branches in git | Jabbering Giraffe:http://happ...
-[[How do I import a third party lib into git? - Stack Ov...
-そのソース用に専用gitリポジトリを作って毎回インポートし...
***Gitで管理されているソースの管理 [#jc067ce0]
-submoduleで管理するのが簡単?[[[git 1.6.0.2] submoduleを...
*その他Tips [#c2eb3ef6]
**サブモジュールを使う [#mae9fb07]
-[[git submodule - みずぴー日記:http://d.hatena.ne.jp/mzp...
-[[[git 1.6.0.2] submoduleを使おう!その1:add, status - ...
-[[[git 1.6.0.2] submoduleを使おう!その2 - satoko's blog...
**空フォルダを管理する [#xd050ab3]
-フォルダに空の.gitignoreファイルを置く。
**Subversionからの移行 [#a958bb0c]
-Windows以外の環境は安定してるようなのでWindowsがからまな...
-GUIクライアントはなくてもまあ大丈夫か。
-[[SubversionからGitへの移行をオススメする7つの理由 - ak...
**PC/デスクトップで作業を同期 [#m3e463bf]
-commit単位を記にしなくて良いなら、中央リポジトリを使って...
-[[リモートのgitブランチをローカルにチェックアウトする - ...
-[[remote に branch を push し、remote から clone したリ...
**機密情報のチェック [#y0e95fdf]
-git-secret
-[[secretlint/secretlint: Pluggable linting tool to preve...
ページ名: