Git Git/SourceTree使用方法

個人ã§ã®åˆ©ç”¨

ステージング
作業コピーã®å¤‰æ›´ã‚’インデックスã«ç™»éŒ²
å…¨ã¦ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«è¿½åŠ 
git add .
指定ファイルをインデックスã«è¿½åŠ 
git add test.txt
コミット
ステージングã•れãŸä½œæ¥­ã‚³ãƒ”ーã®å¤‰æ›´ã‚’ローカルブランãƒã«ç™»éŒ²
コミット
git commit -m “コメント”
ブランãƒ
ç¾åœ¨ã®ã‚³ãƒŸãƒƒãƒˆã‹ã‚‰ãƒ–ランãƒã‚’作æˆ
ローカルブランãƒã‚’複製
ブランãƒä¸€è¦§
git branch

ブランãƒä¸€è¦§(リモートå«ã‚€)
git branch -a

ç¾åœ¨ã®ãƒ–ランãƒ
git branch --contains=HEAD

ç¾åœ¨ã®ã‚³ãƒŸãƒƒãƒˆã‹ã‚‰TESTブランãƒã‚’作æˆ
git branch test

beforeブランãƒã‹ã‚‰afterブランãƒã‚’作æˆ
git branch after before

ブランãƒã‚’削除
git branch -d test

ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆ

éŽåŽ»/未æ¥ã®ã‚³ãƒŸãƒƒãƒˆã«ç§»å‹•
別ブランãƒã®ã‚³ãƒŸãƒƒãƒˆã«ç§»å‹•
→ 作業コピーã®ãƒ•ァイル状態ã¯ç§»å‹•å…ˆã®ã‚³ãƒŸãƒƒãƒˆçŠ¶æ…‹ã«å¤‰æ›´ã•れる
別ブランãƒã®ã‚³ãƒŸãƒƒãƒˆã«ç§»å‹•
git checkout ブランãƒå

リモートブランãƒã‚’ローカルã«ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆ
git checkout -b ローカルブランãƒå origin/リモートブランãƒå

マージ
ãƒã‚§ãƒƒã‚¯ã‚¢ã‚¦ãƒˆã—ã¦ã„るブランãƒã¸åˆ¥ãƒ–ランãƒã®å¤‰æ›´ã‚’å–り込む
æ›´æ–°ã•れãŸãƒªãƒ¢ãƒ¼ãƒˆè¿½è·¡ãƒ–ランãƒã‚’ã€ç¾åœ¨ã®ãƒ­ãƒ¼ã‚«ãƒ«ãƒ–ランãƒã«ãƒžãƒ¼ã‚¸
git merge FETCH_HEAD

別ブランãƒã‚’ç¾ãƒ–ランãƒã«ãƒžãƒ¼ã‚¸
git merge 別ブランãƒ

リベース
git rebase 別ブランãƒ

コンフリクト等ã«ã‚ˆã£ã¦ä¸­æ–­ã—ãŸå ´åˆã®å†é–‹
git rebase --continue

ãƒã‚§ãƒªãƒ¼ãƒ”ック
別ブランãƒã®ç‰¹å®šã‚³ãƒŸãƒƒãƒˆã®ã¿ãƒžãƒ¼ã‚¸
git cherry-pick [å–込対象コミットID]
リセット
コミット状態を戻ã™
git reset (オプション) (戻ã™ä½ç½®)
戻ã™å¯¾è±¡

オプション HEAD インデックス 作業ツリー
–hard 〇 〇 〇
–mixed 〇 〇
–soft 〇

戻ã™ä½ç½®

ä½ç½® 機能
HEAD^ ç›´å‰ã®ã‚³ãƒŸãƒƒãƒˆ
HEAD ç¾åœ¨ã®ã‚³ãƒŸãƒƒãƒˆ

HEADã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€ä½œæ¥­ãƒ„リーを戻ã™
git reset –hard ~
HEADã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’戻ã™
git reset –mixed ~
HEADを戻ã™
git reset –soft ~
HEAD^(ç›´å‰ã®ã‚³ãƒŸãƒƒãƒˆ)を戻ã™
git reset –hard HEAD^
コミット後ã®å¤‰æ›´ã‚’戻ã™
git reset –hard HEAD

スタッシュ
作業コピーã®å¤‰æ›´ã‚’退é¿

ãƒãƒ¼ãƒ ã§ã®åˆ©ç”¨

クローン
リモートブランãƒã‚’ローカルブランãƒã¨ã—ã¦ã‚³ãƒ”ー
ã€æ‰‹é †ã€‘
「ファイルã€ãƒ¡ãƒ‹ãƒ¥ãƒ¼ > 「新è¦/クローンを作æˆã™ã‚‹ã€
git clone https://github.com/ユーザå/レãƒã‚¸ãƒˆãƒª.git
フェッãƒ
リモートブランãƒã®å¤‰æ›´ã‚’リモート追跡ブランãƒã«æ›´æ–°(1)
ãã®å¾Œã€ãƒªãƒ¢ãƒ¼ãƒˆè¿½è·¡ãƒ–ランãƒã®å¤‰æ›´ã‚’作業コピーã«ãƒžãƒ¼ã‚¸(2)ã™ã‚‹å¿…è¦ãŒã‚ã‚‹
PULLã¯(1)~(2)ã‚’åŒæ™‚実行ã™ã‚‹
リãƒã‚¸ãƒˆãƒªï¼šoriginã®masterブランãƒã®ã‚³ãƒŸãƒƒãƒˆã‚’リモート追跡ブランãƒã«æ›´æ–°
git fetch origin master
プル
リモートブランãƒã®ã‚³ãƒŸãƒƒãƒˆã‚’ローカルブランãƒã«æ›´æ–°
リãƒã‚¸ãƒˆãƒªå:originã®masterブランãƒã®ã‚³ãƒŸãƒƒãƒˆã‚’ローカルブランãƒã«æ›´æ–°
git pull origin master
レãƒã‚¸ãƒˆãƒªå設定
git remote add 別å https://github.com/ユーザå/レãƒã‚¸ãƒˆãƒª.git
ã€å¼·åˆ¶pull】
コンフリクトを無視ã—ã¦ãƒªãƒ¢ãƒ¼ãƒˆã«åˆã‚ã›ã‚‹
①フェッãƒ
git fetch origin master
②リモート追跡ブランãƒã®origin/masterã¾ã§æˆ»ã™
git reset –hard origin/master
プッシュ
ローカルブランãƒã®ã‚³ãƒŸãƒƒãƒˆã‚’リモートブランãƒã«æ›´æ–°
リãƒã‚¸ãƒˆãƒªå:originã¸ãƒ­ãƒ¼ã‚«ãƒ«ã®masterブランãƒã®ã‚³ãƒŸãƒƒãƒˆã‚’æ›´æ–°
git push origin master
リãƒã‚¸ãƒˆãƒªå:originã®masterブランãƒã¸ã€ãƒ­ãƒ¼ã‚«ãƒ«ã®testブランãƒã®ã‚³ãƒŸãƒƒãƒˆã‚’æ›´æ–°
git push origin test:master

Follow me!