LoginSignup
28
29

More than 5 years have passed since last update.

SourceTreeユーザーでも知っておいたほうが便利なgitコマンド

Posted at

SourceTreeって便利ですよね!

SourceTreeって便利ですよね!
gitわかんなくても色々できちゃうんですから!

とりあえずpullして編集して~pushして~
ひとによってはPullReqしちゃったりして~
便利~

便利は便利なんですけど
たまーにおせえ!めんどくせえ!
って事があります。

そんなときに便利なgitコマンドを紹介します。

対象読者

  • SourceTree使ってる人
  • gitわかんねーっていう技術職
  • git使わされてる企画職
  • gitとりあえず使ってるアートやサウンド作る人(なんていうの?)

以下はsourcetreeだとちょっと操作がめんどくさいことを書いています。
pullとかはsourcetreeでいいやん。

コンソールの出し方

コンソールの出し方はSourceTree右上にターミナルとか端末っていうボタンがあるからそれおすとでるよ。
そこにコマンド打ち込んでいけばOK

とりあえず覚えとくとすぐ楽になる

覚えとくと何かと便利なもの

全部リセットしたい

たまに何故かpullに失敗して…ついでにリセットしてもまだだめとか…
このコマンドでSourceTreeのリセット以上に全部リセットします。


git clean -df ; git checkout .

ちょっと解説

git clean -df
でgitの管理下にない(SourceTreeで?になる)ファイルをすべて削除します。

git checkout .
でgitの管理下にある変更したファイルを(SourceTreeで黄色になるやつ)をリセットします。
SourceTreeのリセットはこちら

;は2つ以上のコマンドを一行で書きたいときに使います。接続詞みたいなものです。

一つのファイルを消したい

よくわからないエラーにファイル名が表示された…
とりあえず消すには…エクスプローラー出して…
ってめんどくさいのでコマンドラインで消しちゃいましょう


#windowsの人こちら
del ファイル名

#macやGit for Windows適用済の人
rm ファイル名

たまに便利なので覚えときましょうね。

いらないブランチ消したい人向け

リモートのすでにないブランチを消したい

例えば、あなたのプロジェクトが1リポジトリにプッシュしてブランチ間でPullRequest出す。
というような運用をしていた場合ローカルのブランチにすでにないブランチが表示され続けます…うぜぇ…

そんなときはこのコマンドですでにないブランチが表示されなくなります

git prune

リモートにすでにないブランチをローカルから消し去りたい

更にリモートにブランチがいっぱい見えてるけどもう使ってないブランチがいっぱい!というときにはこちら

git fetch --prune

ちょっと上級者向け

ファイルを微調整中で何度も修正をしてコミットするを繰り返したい

要はSourceTreeだと何度も同じファイルをプッシュするの面倒くさいからコマンドでやりましょ
ってことです

簡単なツール作ったりする技術や向けかも


cd ファイルのあるディレクトリ(フォルダ名)
git add ファイル名 ; git commit -m "コミットのメッセージ" ; git push origin ブランチ名

で、これの何がいいかというとですね。
このコマンドを使ってから↑ボタン押すと同じコマンドが自動入力されます。
いいでしょ。

ちょっと解説

cd ディレクトリ(フォルダ)
はディレクトリ(フォルダ)に移動します。エクスプローラーでフォルダクリックするみたいな感じです。

git add ファイル名
はSourceTreeでいう追加ですね。

git commit -m "コミットのメッセージ"
でコミットします。
mはメッセージの略です。

git push origin ブランチ名
でプッシュです。

originは自分のブランチにプッシュします。(設定によります。)

注意

このコマンドはリモートに影響を与えます。
特にpushのところのコマンドはちょっと注意して使ってください。

マージのチェリーピックをしたい

マージされたコミットをチェリーピックするとこういうエラーが出ると思います。

git -c diff.mnemonicprefix=false -c core.quotepath=false cherry-pick コミットのハッシュ
error: Commit コミットのハッシュ is a merge but no -m option was given.

こういうときはおもむろに一行目のコマンドに -m 1オプションを付ければたいてい解決します


git -c diff.mnemonicprefix=false -c core.quotepath=false cherry-pick コミットのハッシュ -m 1

ところで

カレシ・カノジョできないエンジニア Advent Calendar 2016の記事です。

やっぱり技術職以外の人が触れるネタの方がいいよね!とか思って書きました。
一瞬、恋愛を関数化してみようとか書いてたんですけど黒歴史化するのでやめました。

前回のsynchronized のメモからバトンタッチできました。
主催のnagaoyurikoさんの記事は他業種の話聞くの楽しいですよね。ってことでめっちゃ面白いです。

ダンサーさんって裁縫必須なんだ…コス衣装ですら作ろうとすら思わないのに無理や…
毎回2,3万くらいのですよちくせう。ロリータとかさらに高いよね。
恋人よりロリータとか選んでくれる友達がほしい今日この頃です。

28
29
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
29