git
push.defaultをsimpleにするとローカルとリモートのbranch名が一致する場合のみPushするようになるので事故が減って良い。 以下のコマンドで設定できる。 git config --global push.default simple 参考: git の push.default 設定を理解する - Qiita
基本的に下記記事の通りやればOKだが、「git show --summary 候補のsha1」を実行して復活させたいコミットのSha1を探すのが大変なので簡単にできるワンライナーを書いた。 git stash save で一時退避した変更を、誤って git stash clear で消してしまったと…
以下を実行すると削除できる。いままでSourceTreeとかで一括選択して削除してた。。 git clean -fまだまだ知らない機能がいっぱいあるなぁ。 参考:How do I remove local (untracked) files from my current Git branch? - Stack Overflow
リリース前に、前回リリース時点以降に取り込まれたチケットの一覧を確認したいという場合に使う。 以下のスクリプトを実行するとGitのコミットメッセージから[PJNAME-XXX]という文字列を取り出せる。ただし、一つのコミットに複数入っている場合は先頭の一…
原因は以下。 ・slash区切りでブランチ名をつけた場合、gitはその構造通りにディレクトリ・ファイルを作ろうとする たとえば、hotfix/111/bug1だと.git/refs/heads/hotfix/111/bug1というパスにファイルを作ろうとする ・slashで区切った単位で前方一致する…
proxy設定を環境毎に切り替えたいという場合はinclude機能を使えばよさそう。 proxy設定を.gitconfig.localのような別ファイルに定義しておき、それをincludeすればOK。 参考:dotfilsをGitHub管理したいけど.gitconfigには社内proxy情報が…ってときは - Qii…
Pull Requestをレビューする時に、リモートリポジトリからレビュー対象のブランチを探してチェックアウトして、すでにチェックアウトしてたらpullして・・・という一連の作業を効率化したいと思い、ローカルのすべてのbranchの状態をリモートと一致させるfun…
git for-each-refはbranchの一覧を表示するが、git branchより細かく表示する情報を加工したりできるので aliasやfunctionでbranchを選択するところではこっちを使った方がよさそう。 例えば、pecoでbranchを選択するglobal aliasは以下のように定義するとコ…
コレ便利だなあ。使わせて貰います。 git branch --merged | grep -v '*' | xargs -I % git branch -d %参考:Git でマージ済みのブランチを一括削除する - Qiita
users.txtに定義しているはずのユーザがnot definedと言われる・・・なぜ?と思っていたら、users.txtのフォーマットが間違っていた。 既に退職した人のユーザだったので、メールアドレスを書いていなかったんだけど、メールアドレスは必ず書かないといけな…
Mavericksではgit svnが依存しているPerlモジュールへのパスが通っていないことが原因。下記を実行すると直る。 sudo ln -s /Applications/Xcode.app/Contents/Developer/Library/Perl/5.16/darwin-thread-multi-2level/SVN /System/Library/Perl/Extras/5.1…
gitは空ディレクトリをコミット出来ないので、空の.gitkeepファイルを作ってコミットする。 以下を実行すると空ディレクトリに.gitkeepを作れる。 find . -type d -empty -not -path './.git*' -exec touch {}\/.gitkeep \;参考:git/空のディレクトリが消え…
rebaseしようとしたら以下のエラーメッセージが出た。 There is no tracking information for the current branch. Please specify which branch you want to rebase against. See git-rebase(1) for details git rebase <branch> If you wish to set tracking infor</branch>…
要はgit fetch --pruneをSourceTreeからやる方法。 ・SourceTreeのリポジトリウィンドウ>ツールバー>フェッチ をクリックする ・「リモートで削除された追跡ブランチは取り除く」をチェックしてOKをクリックする サイドバーのリモートのところに表示されて…
最近本番、テスト、開発の各環境用にブランチを切る運用がはやってるけど、本番環境用ブランチの名前がmasterとなるのは違和感があるので名前をproductionにしたい・・・という場合は以下で名前を変えられる。 git checkout -b production master # create a…
ツールバーの一時退避がstashのことらしい。 言われてみれば確かにそうなんだけど、全然気付かなかった。。なんでだろ。 Stashはコード書いてる途中でブランチを切り替えたりPullしたりするとき便利ですよね。 参考:【Git/SourceTree】作業中にブランチを切…
gitのプロキシ設定は以下でできる。環境変数のhttp_proxyとかは見てくれないんだね。 git config --global http.proxy http://proxy:port git config --global https.proxy https://proxy:port
この記事のGitリポジトリの運用方法は非常に参考になる。 git による分散作業パターン | GREE Engineers' Blog 早速うちのプロジェクトでもやってみよう。 記事の中で引用されてたPro Gitという本に興味がわいたので 検索してみると、なんと日本語版の電子書…
下記サイトの通り。もっとgitの勉強しないとな。。 GitHub でタグを打って tgz/zip アーカイブ をダウンロードできるようにする - Goodpic