You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
よく使う Git コマンド自分用メモです。 これらのコマンドの組み合わせでなんとか開発はできています。新しいコマンドを覚えたら随時追記。 目次 基本操作 ブランチ操作 tag 操作 stash 操作 変更をやり直す rebase -i diff log リモートブランチを全削除するワンライナー リモートブランチを全部チェックアウトするワンライナー 基本操作 git init Git 管理を開始する。カレントディレクトリに .git が作成される。 git add hoge.txt 対象をステージングエリアに追加。 git status ワークツリーとステージングエリアの状況を表示 git commit -m 'commit message' ステージングエリアの情報をリポジトリに反映。 git rm hoge.txt 対象をワークツリーとステージングエリアから削除。 git mv hoge
ブランチの派生元間違えた!! 本当はdevelopブランチから切らないといけないのに、masterブランチからfeature/hogeブランチを切ってしまった もう3回くらいコミットしてしまった...(´;ω;`)ブワッ ブランチ作りなおしてcherry-pickするか....... こんなとき!! $ git log --graph --all --decorate --oneline * 08733a5 (HEAD -> feature/test) test 1 * e7872a3 (master) master 2 | * 09140ba (develop) develop 1 |/ * 8c001b5 master 1 $ git rebase --onto develop master feature/test First, rewinding head to replay y
Gitでやらかした時に使える19個の奥義を書いてやらかしたときになんとかリカバリできるようにした。 今回は、そもそもやらかさないようにしたいよねっていうお話。 コミット編 .gitignoreを細かく指定しておく .gitignoreを指定しておけば余計なファイルをコミットしちゃうことを予防できます 過去に似たようなプロジェクトがあるのならそれを流用しましょう。 ないのであれば.gitignore.ioで生成してそれをカスタムしましょう。 ワイルドカード指定やディレクトリまるごとの指定は副作用ある可能性があるので慎重に。 コミットメッセージのフォーマットを決めておく コミットメッセージのフォーマットを決めておけば書き直したいということも減ります コミットメッセージをやらかして直したいと思うことはよくあります。 そういうのって案外コミットメッセージが自由すぎることが問題だったりします。 ある
上記の例の場合、変更した箇所が近いため同じhunk(変更の塊)として表示されています。ですので、hunkをさらに分割する必要があります。そのためにはsを選択します。そうすると次のような表示になります。 Split into 2 hunks. @@ -1,5 +1,5 @@ <ul> <li><a href="/">Home</a></li> - <li><a href="/about.html">About</a> + <li><a href="/about.html">About</a></li> <li><a href="/help.html">Help</a></li> </ul> Stage this hunk [y,n,q,a,d,/,j,J,g,e,?]? 変更が分割されて閉じタグ忘れだけの変更が表示されています。ここでyを押してこの変更をステージングします。すると次は以下の表
Setup ----- git clone <repo> clone the repository specified by <repo>; this is similar to "checkout" in some other version control systems such as Subversion and CVS Add colors to your ~/.gitconfig file: [color] ui = auto [color "branch"] current = yellow reverse local = yellow remote = green [color "diff"] meta = yellow bold frag = magenta bold old = red bold new = green bold [color "status"] add
With git 2.6 it’s now easier than ever to keep track of your work during an interactive rebase. Previously, if you were rebasing interactively and had hit a conflict or stopped to reword a commit, git status would look like this: $ git rebase -i HEAD~5 $ git status rebase in progress; onto 0927cd6 You are currently rebasing branch ‘t… Read More »
分散バージョン管理を華麗に扱いたい堀口です。 GREE Advent calendar 2013 の 14 日目として参加させていただきます。 お二人に続き Haskell の話をしようかと思ったのですが、急遽無難な開発の話に変更しました :o Java や C++ には OOP の概念が必要であったように、分散作業の認識が薄いまま git や Mercurial を使うことは長期的に不幸をもたらします。 とあるプロジェクトにて、その一部を副産物のミドルウェアとして抽出すべく、アプリケーションと分離したい 不具合があったので原因を探りたいが、依存関係が複雑すぎるのでコードを読む量を減らしたい テストやレビュー、提案、リファクタの運用を強化したい よそのプロジェクトに迷惑を掛けないように、そこのツールを改良して使いたい。 いままで何気なく「こんなもんだろう」と思って手間をかけていませんでした
2010/11/20 · gitでは様々な方法でコミットログを書き換えることができます。 その一例としてコミットの順序を入れ替える方法を紹介します。
最近 Git のチュートリアルサイト、 Git immersion をボチボチやっている。 Git は何となく使っていたのだが、あらためてこのチュートリアルをやって はじめて理解できた概念があったりして、かなり勉強になる。 とは言え、いくつかの項目では説明不足の感は否めず、 それって何でなの、という疑問を調べるために検索の連鎖が始まったりして なかなかスムーズには前に進まない。 今回の記事はその初っ端のケースだ。 Git immsersion の LAB1 SETUP に、 以下のような設定がある。 And for Windows users: EXECUTE: git config --global core.autocrlf true git config --global core.safecrlf true 一番目の core.autocrlf は、説明が無くても、なんとなく意味が
22:56 @thinca さんからの指摘を追記 @yuroyoro あとお節介ですが、n個前とdiffなら HEAD^ より HEAD~ の方がいいと思いますよ。両者では若干意味が違います。~なら HEAD~3 と数字が書けるのも利点です。あと個人的にはwhatchangedよりlog --statの方が見やすくて好きです。 2010-10-08 22:30:52 via Tween to @yuroyoro @yuroyoro URL このgitconfigの記事に関して質問なのですが、core.excludesfile は $HOME で動きますか?以前試した時ダメで、~/ なら動いたのでこちらを使ってるんですが。 2010-10-08 22:20:49 via Tween to @yuroyoro 「そんな.gitconfigで大丈夫か?」 そんなわけで、仕事でもモリンモリンにgi
2011/05/12のブログで.gitconfig を晒した後に増えたエイリアスを少し解説。 最新の.gitconfigはgithubのsinsoku/dotfilesに置いてある。 git ft ft = fetch -n --pruneタグは後述するfttで取得するため、-n(--no-tags)を設定している。 また、削除されたリモートブランチは自動的に削除するために、--pruneを設定している。*1 git pl pl = pull --no-tagsタグは後述するfttで取得するため、-n(--no-tags)を設定している。 普段はftを使うので、ほとんど使わない。 git ftt ftt = fetch -n --prune origin refs/heads/*:refs/remotes/origin/* refs/tags/*:refs/tags/origin/*自分が
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く