ç®æ¬¡
- ééããŠã³ãããããã®ã§1ã€åã«æ»ããã
- ééã£ãååã®ãã©ã³ããäœæãã
- å¿ èŠã®ãªããã©ã³ããäœæãã
- ééã£ããã©ã³ããããã·ã¥ãã
- ããã·ã¥ããããšã©ãŒãåºãŠGitHubã«åæ ãããªã
- GitHubã«åæ ããããªãã³ããããããã·ã¥ãã
- ééã£ãŠaddãã
- ééã£ãŠã³ããããã
- ééã£ãŠæ°èŠãã¡ã€ã«ã远å ãã
- ææ°ã®ã³ãããã®ç¶æ ã«æ»ã
- git reset --hard ORIG_HEAD ãªã©ã§ééããŠæ¶ãã
- 2ã€åã®ã³ãããã¡ãã»ãŒãžãééã£ãŠãã
- ã³ãããã¡ãã»ãŒãžãééãã
- ã³ããããå¿ãããã¡ã€ã«ããã£ã
- ã³ãã³ãã©ã€ã³ã«ãïŒãã衚瀺ããã
- ãã¡ã€ã«ãééããŠåé€ãã
- ééããŠäžèŠãªç®¡çå€ã®ãã¡ã€ã«ãå«ãã
- 1ãã¡ã€ã«ãééããŠåé€ããŠã³ããããã
- ééããŠããŒãžãã
- error: you need to resolve your current index first
- ãã©ã³ããééããŠåé€ãã
- stashãééããŠåé€ãã
- ééããŠã³ã³ããªã¯ãããŒã«ãŒãå ¥ãã
- ã³ã³ããªã¯ãããå Žå
- ééããŠç¹å®ã®ãã¡ã€ã«ã®ä¿®æ£ãå¥ãã©ã³ãã§è¡ã£ã
- fooãããééããŠã³ããããã
- äºå®æ°ãšéããã¡ã€ã«ãaddããïŒ
- commitèå¥çªå·ã®å 容ãäžæã®å Žå
- ãã°ã ãã§ã¯å€æŽãããã¡ã€ã«ãäžæã®å Žå
- ç¹å®ã®ãã¡ã€ã«åã ãã®ãã°ãèŠããå Žå
- ãã°ã®ã³ã¡ã³ãã«fooãå«ãŸããŠãããã®ã ã衚瀺
- ORIG_HEADãšHEAD^ã®éãã«ã€ããŠ
- Gitã®ããŒãžã§ã³ãææ°åãã
- ãã¡ã€ã«ãé€å€ãã
- Gitã³ãã³ãã®ãã€ãã³ãæ£ãããªããµã€ãããã
ééããŠã³ãããããã®ã§1ã€åã«æ»ããã
git reset ORIG_HEAD
ãã§ã«ããã·ã¥ããŠããŠä»ã®äººãåããã©ã³ãã§äœæ¥ããŠããå Žåã¯revertããŠããåããã·ã¥ããã»ããè¯ãã
git revert ãcommitèå¥çªå·ã
ééã£ãååã®ãã©ã³ããäœæãã
git branch -m ãæ£ãããã©ã³ãåã
ã§ãã©ã³ãåã倿Žããã
å¿ èŠã®ãªããã©ã³ããäœæãã
git branch -D ããã©ã³ãåã
ã§ãã©ã³ããåé€ã
ééã£ããã©ã³ããããã·ã¥ãã
git push origin :ãåé€ãããã©ã³ãåã
ã®ããã«ãã©ã³ãåã®é ã«:(ã³ãã³)ã远å ããã°ããã·ã¥ãããã©ã³ããåé€ã§ããã
ããã·ã¥ããããšã©ãŒãåºãŠGitHubã«åæ ãããªã
ããã·ã¥ããéã«error: failed to push some refs toã衚瀺ããããææ°ã®ç¶æ ãäœæ¥çšãã©ã³ãã«ãã«ãããŠããªãã®ã§git pullããŠããpushããã
ãã®éã«ã³ã³ããªã¯ããçºçããå Žåã¯è§£æ¶ããŠããããã·ã¥ããã
GitHubã«åæ ããããªãã³ããããããã·ã¥ãã
git commit -m "add h3"
ãšã³ããããããGitHubäžã«ã¯ãŸã åæ ããããªãã£ãã®ã ãééããŠpushããŠããŸãGitHubã®Commitsã«åæ ããŠããŸãããããåãæ¶ãããå ŽåâŠ
git reset --hard ORIG_HEAD git push -f origin master # äœæ¥çšãã©ã³ãã®ã»ããæ»ã git reflog --oneline git reset --hard HEAD@{1}
ãã ããã®ããæ¹ã¯git push -f ã§åŒ·å¶çã«GitHubã®å 容ãäžæžãããŠããã®ã§è€æ°äººã§ãã©ã³ããäœæ¥ããŠããå Žåã¯æ³šæãå¿ èŠã
ééã£ãŠaddãã
git reset
ã§æ»ãã
ééã£ãŠã³ããããã
git reset --soft ORIG_HEAD
ã§æ»ãã
ééã£ãŠæ°èŠãã¡ã€ã«ã远å ãã
addåã®å Žå
rm foo.txt
addåŸã®å Žå
git reset foo.txt && rm foo.txt
ã³ãããæžã¿ã®å Žå
git rm foo.txt git commit -m "delete foo.txt"
ææ°ã®ã³ãããã®ç¶æ ã«æ»ã
git reset --hard
git reset --hard ORIG_HEAD ãªã©ã§ééããŠæ¶ãã
git reset --hard ORIG_HEAD ã§æ¶ããšgit logããææ°ã®ã³ããããæ¶ããã
ãã®ããåå¿è ã®æ¹ã ãšæ»ããªããšèããŠããæ¹ãããŸã«ãããgit reflogã³ãã³ãã®ã»ãã«ã¯å±¥æŽãæ®ã£ãŠãããã
git reflog --oneline
ãå®è¡ãããšäžèšã®ãããªå±¥æŽäžèЧã衚瀺ãããã
aa84583 HEAD@{0}: reset: moving to ORIG_HEAD a65764a HEAD@{1}: commit: title C ab84583 HEAD@{2}: commit: title B 883c49c HEAD@{3}: commit: title A 13c826f HEAD@{4}: commit (initial): first
ããã«ã¯resetã®å±¥æŽãå«ãŸããŠããããã®å ŽåtitleãBããCã«å€æŽããããšã«git reset --hard ORIG_HEADã§
ééããŠtitle B (HEAD@{2}) ã«æ»ããŠããŸã£ããããtitle C (HEAD@{1})ã«æ»ãããã«ã¯
git reset --hard HEAD@{1}
ãå®è¡ããã°è¯ãã
2ã€åã®ã³ãããã¡ãã»ãŒãžãééã£ãŠãã
c07eb76 foo 1539862 foo2 62b7c3c foo5 4f2c526 foo4
ã®ããã«foo3ãšå ¥ãããšãããééããŠfoo5ãšãªã£ãŠããå Žåã¯
git rebase -i 4f2c526~1
ãå®è¡ããŠ
pick 4f2c526 foo4 r 62b7c3c foo5 pick 1539862 foo2 pick c07eb76 foo
ã«ããŠ:wqã§ä¿åããããš
ã³ãããã¡ãã»ãŒãžã®foo5ãfoo3ã«å€æŽããŠ:wqã§ä¿åããã°
ebbb16e foo 8cecadb foo2 b1609e3 foo3 4f2c526 foo4
ã®ããã«ä¿®æ£ããã³ãããã¡ãã»ãŒãžã«ããããšãã§ããã
ã³ãããã¡ãã»ãŒãžãééãã
git commit --amend
ã§ã¡ãã»ãŒãžãä¿®æ£ã
ã³ããããå¿ãããã¡ã€ã«ããã£ã
git add .
ã§è¿œå ããããš
git commit --amend
ã§å床ã³ãããã
ã³ãã³ãã©ã€ã³ã«ãïŒãã衚瀺ããã
git commit "foo ã®ããã«ããã«ã¯ã©ãŒããŒã·ã§ã³(")ã§æ£ããå²ãŸãã«å®è¡ããéã«çºçããã
Ctrl + C ã§ãã£ã³ã»ã«å¯èœã
git commit "foo >
ãã¡ã€ã«ãééããŠåé€ãã
git checkout ãåé€ãããã¡ã€ã«ãã¹ã
ééããŠäžèŠãªç®¡çå€ã®ãã¡ã€ã«ãå«ãã
ãã¡ã€ã«ã®ã¿ãåé€å¯Ÿè±¡ã®å Žåã¯äžèšã§åé€ã
Gitã®cleanã¯æ¥æ¬èªãã¡ã€ã«ã ãšå¯Ÿè±¡ãã¡ã€ã«ä»¥å€ã®ãã¡ã€ã«ãåé€ããŠããŸããã°ãããããå¿ ãgit clean -nã§ç¢ºèªããŠããåé€ããã
git clean -n git clean -f
ãã¡ã€ã«ã ãã§ãªããã£ã¬ã¯ããªãåé€ããå Žåã¯
git clean -dn git clean -df
1ãã¡ã€ã«ãééããŠåé€ããŠã³ããããã
äŸãã°äœåãã³ãããããããšã«éå»ã«åé€ãã1ãã¡ã€ã«ã ããæ»ããŠãé¢ä¿ã®ãªããã¡ã€ã«ã¯æ»ããããªããšãã¯âŠ
git log --onelineã§ä»¥äžã®ãããªçµç·¯ã§n.pngãåé€ããŠããŸãããããæ»ããããšãã¯ä»¥äžã®ã³ãã³ãã§ãã¡ã€ã«ãæ»ããããšã³ãããããã
# a7267bdã§n.pngã远å ããŠa4ace15ã§åé€ããŠã # ãã®åŸ31624c7ã®ã³ãããããããŠããäŸ 31624c7 add h2 a4ace15 delete n.png adb362a h1 typo a7267bd new image b65763a h1 C
git checkout $(git rev-list -n 1 HEAD -- n.png)^ -- n.png git commit -m "n.png å·®ãæ»ã"
ééããŠããŒãžãã
ããŒãžçŽåŸã§ããã°
git reset --hard ORIG_HEAD
error: you need to resolve your current index first
ã€ã³ããã¯ã¹ã®ç¶æ ãã³ã³ããªã¯ãç¶æ ã ã£ããã解決ãå¿ èŠããããŠãã¯ä»¥äžã®ã³ãã³ãã§è§£æ±ºã§ããã
fatal: You have not concluded your merge. (MERGE_HEAD exists)ã衚瀺ããããšããåæ§ã
git reset --merge
ãã©ã³ããééããŠåé€ãã
git reflog
ã§éå»ã®äœæ¥ã衚瀺ãããæ»ãããHEADã®çªå·ãæå®ããŠ
git branch ãåé€ãããã©ã³ãåã HEAD@{çªå·}
ã§æ»ãã
stashãééããŠåé€ãã
git fsck
ã§åé€ããstashã®commitèå¥çªå·ãæ¢ããŠ
git cherry-pick -n -m1 ãcommitèå¥çªå·ã
ã§ã€ã³ããã¯ã«é©çšåŸã«
git stash
ã§åã³stashã«ä¿åã
ééããŠã³ã³ããªã¯ãããŒã«ãŒãå ¥ãã
ã³ã³ããªã¯ãããŒã«ãŒãšã¯ã³ã³ããªã¯ãæã«å«ãŸãã<<<<<<< HEADã®ãããªããã¹ãã®ããšã
ç®èŠã§çºèŠããå Žåã¯æåã§åé€åŸã念ã®ããã»ãã«æ®ã£ãŠããªããäžèšã®ã³ãã³ãã§èª¿ã¹ãã
git diff --check
ã³ã³ããªã¯ãããå Žå
äŸãã°fooãbarã«ä¿®æ£ããŠã³ããããããå®ã¯ä¿®æ£ããå¿ èŠããªããããã«å¥ã®äººãfooãbazã«å€æŽããŠããã·ã¥ãããã®ããã«ããã°ã³ã³ããªã¯ããšãªãã
ãã®éã以äžã®ãããªç¶æ ãšãªãã
<<<<<<< HEAD <h1>bar</h1> ======= <h1>baz</h1> >>>>>>> ab8251f642ea97ea1262adec505b62d60986b8ac
ãã®éãgit checkout --theirsã§çžæã®ä¿®æ£å 容ãé©çšã§ããã
git checkout --theirs
<!-- git checkout --theirs ã®çµæ --> <h1>baz</h1>
éã«git checkout --oursã§èªåã®ä¿®æ£å 容ãé©çšã§ããã
git checkout --ours
<!-- git checkout --ours ã®çµæ --> <h1>bar</h1>
ééããŠç¹å®ã®ãã¡ã€ã«ã®ä¿®æ£ãå¥ãã©ã³ãã§è¡ã£ã
hogeãã©ã³ãã§foo.txtãä¿®æ£ããããšæã£ããééããŠfugaãã©ã³ãã®foo.txtã§è¡ã£ãŠããŸã£ãå Žåã¯hogeãã©ã³ããã
git cherry-pick ãcommitèå¥çªå·ã
ã§è©²åœã³ããããhogeãã©ã³ãã«åã蟌ãã
ãã ããfugaãã©ã³ãã§foo.txt以å€ã«ãbar.txt, baz.txtãä¿®æ£ããŠããå Žåã¯ããããåã蟌ãã§ããŸãã
ãã®ããããã®å Žåã¯checkoutãäžèšã«ããã«å®è¡ããŠä¿®æ£ãããã¡ã€ã«ã ããåã蟌ãããã«ããã
git checkout fuga -- foo.txt
fooãããééããŠã³ããããã
äŸãã°fooãããšãã人ãããŠééããŠã³ãããäžèŠãªãã¡ã€ã«ãã³ãããããå Žåãã©ãã§ã³ããããè¡ã£ãã調ã¹ãå¿ èŠãããã
調æ»ã®ããã«ã¯--author="foo"ã§fooããã®ã¿ã®ãã°ã以äžã®ããã«çµã蟌ãã§äžèЧã衚瀺ãããšç¢ºèªããããã
git log --oneline --graph --decorate --author="foo"
äºå®æ°ãšéããã¡ã€ã«ãaddããïŒ
ãã¡ã€ã«ããã¹ãŠaddããéã«äœãã¡ã€ã«addãããã調ã¹ããå Žåã¯git diff --stat --cachedãå®è¡ããã
iwbjp$ git diff --stat --cached img/s1.jpg | Bin 0 -> 9437184 bytes img/s2.jpg | Bin 0 -> 10911744 bytes img/s3.jpg | Bin 0 -> 11370496 bytes 3 files changed, 0 insertions(+), 0 deletions(-)
commitèå¥çªå·ã®å 容ãäžæã®å Žå
commitèå¥çªå·ã®å 容ãäžæã®å Žåã¯
git show ãcommitèå¥çªå·ã
ã§å 容ã確èªããã
ãã°ã ãã§ã¯å€æŽãããã¡ã€ã«ãäžæã®å Žå
git logã ãã§ã¯å€æŽããããã¡ã€ã«åã¯è¡šç€ºãããªãã
倿Žããããã¡ã€ã«åã衚瀺ãããå Žåã¯--name-statusãä»ããã
git log --name-status
ç¹å®ã®ãã¡ã€ã«åã ãã®ãã°ãèŠããå Žå
git log ããã¡ã€ã«åã
ãã°ã®ã³ã¡ã³ãã«fooãå«ãŸããŠãããã®ã ã衚瀺
git log --grep="foo"
ORIG_HEADãšHEAD^ã®éãã«ã€ããŠ
Macã ãšåãã ãWindowsã¯^ã¯ç¹æ®èšå·ã§""ã§å²ãŸãªããšå®è¡ã§ããªãããææ°ã®äžã€æåã®ã³ããããæå®ã¯ORIG_HEADã§çµ±äžããŠããã
Gitã®ããŒãžã§ã³ãææ°åãã
ééããŠå€ãããŒãžã§ã³ãã€ã³ã¹ããŒã«ããå Žåã¯ä»¥äžã®ã³ãã³ãã§ææ°åããã(èŠHomebrew)
brew update && brew install git && exit
ãã¡ã€ã«ãé€å€ãã
ã³ãããããå¿ èŠããªããã¡ã€ã«ã®å Žåã¯ãå¿ ã.gitignoreã.git/info/excludeã«é€å€ãã¡ã€ã«ãèšèŒããŠã³ãããããªãããã«ããã»ããè¯ãã
Gitã³ãã³ãã®ãã€ãã³ãæ£ãããªããµã€ãããã
Gitã³ãã³ãã解説ããŠããWordPressããã°ã§--mergeãªã©ãâmergeã®ããã«ãªã£ãŠããå Žåãããã
ããã¯WordPressã§ã¯ãã€ãã³ã®--ãâã«èªå倿ããããã«ãªã£ãŠããããã§ããã
èªå倿äŸ
http://blogcdn.rutake.com/techmemo/2015/09/09/git-error-you-need-to-resolve-your-current-index-first%E3%81%AE%E8%A7%A3%E6%B1%BA%E7%AD%96/
iwb.jpã§ã¯ãã€ãã³ã®èªå倿åãæ¶ãèšå®ã远å ããŠããããæ£ãã衚瀺ãããŠããã
// functions.php // ãã€ãã³ã®èªå倿åãæ¶ã remove_filter('the_title', 'wptexturize'); remove_filter('the_content', 'wptexturize');