How Core Git Developers Configure GitWhat `git config` settings should be defaults by now? Here are some settings that even the core developers change. A few weeks ago I wrote about Gitâs help.autocorrect setting and the strange tale of the origin of itâs deciseconds value. It got me to thinking about other git config settings that most people likely donât know about and which should probably be d
ã¿ãªããã¯éçºç¨ãã£ã¬ã¯ããªã«ç§»åããå ´åã©ããã¦ãã¾ããï¼ ã¿ã¼ããã«ãç«ã¡ä¸ããå¾ãcdã³ãã³ãã§TABãã¼ãä½åãæéµãã¦ãã¾ãããï¼ ããããããããªãã¦ãããã§ãã ããã ghqã¨pecoãçµã¿åãããã°ãã ä½ãã§ããããã«ãªãã®ï¼ èªåã®å¥½ããªã³ãã³ãã§ããã«ç§»åããããã£ã¬ã¯ããª(ã¯ã¼ã¯ã¹ãã¼ã¹)ã¸ç§»åã§ãã¾ãã ã㢠ghqã¨ã¯ ghqã®README.mdããå訳 Remote repository management made easy ãªã¢ã¼ããªãã¸ããªã®ç®¡çãæ¥½ã«ãã 'ghq' provides a way to organize remote repository clones, like go get does. When you clone a remote repository by ghq get, ghq makes a directory und
ãã®è¨äºã¯ãã©ã¤ããã¶ã¤ã³ Advent Calendar 2024ã®4æ¥ç®ã§ãã 3æ¥ç®ã¯ãããããã®ã2024å¹´ ãä¸è©±ã«ãªã£ãAIãµã¼ãã¹ãã¨ããè¨äºã§ããã ãã®é æµ·å¤ã®ã¨ã³ã¸ãã¢ã®ç°å¢æ§ç¯åç»ãè¦ãã®ã«ããã£ã¦ãããããMapifyãã試ãã¦ã¿ããã¨æãã¾ãã ãããã¥ã¡ã³ãèªã¿è¾¼ã¿æ©è½ã便å©ã ã£ããã«ããå ¬å¼ããã¥ã¡ã³ããã¼ã¹ã§åçãçæãã¦ãããã®ã便å©ã§ããï¼ ã¯ããã« ã³ã¼ã管çã¹ãã¼ãã«ãããï¼ã«ãã³ã¤ãããï¼ð âï¸æå¿«ãªã¤ãã¿ãã¡âï¸ GitHubãªãã¸ããªãç¨æããããã«ã¿ã¼ããã«ããé¢ããã®...ï¼ ããï¼ãã£ã¬ã¯ããªã©ãã«ãããã£ãï¼ï¼ ããã¸ã§ã¯ãã®ãã£ã¬ã¯ããªã«ç§»åããããã«é·ããã¹ãæã¤è¦è¡ ãã¬ãã£ãã¯ã¹å¤ããã¦ãã¼ããããªãã ããã¸ã§ã¯ããã¨ã«ã³ãããã¡ãã»ã¼ã¸ã®ãã¬ãã£ãã¯ã¹ãéã..ã ã¨..ï¼ çµµæåã¤ãå¿ã&ã³ãããã¡ãã»ã¼ã¸ééãã¡ãã£ã
ããã¬ãã¸ããªã®ãµããã£ã¬ã¯ããªé ä¸ãå¥ã®ã¬ãã¸ããªã¸å±¥æ´ä»ãã§ç§»è¡ãã - $shibayu36->blog; ã®éãã¼ã¸ã§ã³ã ããã¬ãã¸ããªã§ãã£ã¨éçºãã¦ãããããã£ã±ãã¢ãã¬ãã®ä¸ã«å ¥ãããã¨ãªã£ã¦ãå±¥æ´ä»ãã§ã¢ãã¬ãã®ç¹å®ã®ãµããã£ã¬ã¯ããªé ä¸ã«ç§»åãããæããã£ãããã¨ãã° https://github.com/shibayu36/go_todo_app ã®å±¥æ´ããã¹ã¦ https://github.com/shibayu36/go-playground ã®go_todo_appãã£ã¬ã¯ããªã«ç§»ãããã¿ãããªã±ã¼ã¹ã ããã®æã³ãããå±¥æ´ã¨ãã¦ã¯go-playgroundã®go_todo_app/é ä¸ã§åãããéçºãã¦ãããã®ããã«ç§»ãããã ãã®è§£æ±ºçã¨ã㦠Gitã®ãµãããªã¼ã®ãã¼ã¸ã«ã¤ã㦠- GitHub Docs ã«ããããã«ããµãããªã¼ãã¼ã¸ã¨ããæ¹æ³ãåããããã
ã¯ããã« ãã¥ã¼ãã£ã¼ Advent Calendar ã®11æ¥ç®ã®è¨äºã§ãã ããç¨åº¦Gitã触ã£ããã¨ããã人åãã®è¨äºã«ãªãã¾ãã ããããã®ç« ãç¬ç«ãã¦ããã®ã§æ°ã«ãªãé¨åã ãè¦ã¦ããããã°å¹¸ãã§ãã å人ç¨ã®ç¡è¦ãã¡ã¤ã«ã®ç®¡ç (.git/info/exclude) ããã¸ã§ã¯ãã¨ãã¦Gitã«ç¡è¦ãã¡ã¤ã«ã追å ããå ´åã«ã¯ .gitignore ã使ãã¾ãããã Gitã«ä¸ããã¹ãã§ã¯ãªãããæ¤è¨¼ç¨ã«Gitãã£ã¬ã¯ããªé ä¸ã«ç½®ãããå ´åã.git/info/excludeãå©ç¨ããã¨ä¾¿å©ã§ããæ¸ãæ¹ã¯ã.gitignoreãã¡ã¤ã«ã¨åãã§ãã ç§ã¯æè¡æ¤è¨¼ç¨ã®ã¹ã¯ãªãããé ç½®ããå ´åãªã©ã«å©ç¨ãã¦ã¾ãã VSCodeãªã©ã§ã¯ããã©ã«ãã§ .git ãã£ã¬ã¯ããªãé表示ã«ããã¦ããããã表示ããããã«å¤æ´ãã¦ã¾ãã ã¾ã¨ããã¨ããããã®ãã¿ã¼ã³ã§å·®åç¡è¦ããå ´åã¯ä»¥ä¸ã®å¯¾å¿ã«ãªãã¾
ã¯ããã« çªç¶ã§ããã¿ãªããã¯git blameãã¦ã¾ããï¼ ç§ã¯æ¯æ¥git blameãã¦ãã¾ãï¼ git blameããçµæããã®å·®åãã³ãããããã®ã¯éå»ã®èªåã¨ç¥ãã®ã¯æ¥å¸¸è¶é£¯äºã§ãã git blameã¯ã³ã¼ããªã¼ãã£ã³ã°ã®å¼·åãªå³æ¹ã§ãããLinterãFormatterãã³ã¼ããã¼ã¹å ¨ä½ã«é©ç¨ããã¨ãå·®åã®æ å ±ããããã§ä¸æ¸ãããã¦ãã¾ãæ å ±éãæ¸ã£ã¦ãã¾ãã¾ãã ãã®ãããªå ´åã¯git historyã§æ´å²ãé¡ããããªãã®ã§ããããï¼ ããããgit v2.23ãã追å ããã--ignore-revãªãã·ã§ã³ã§æå®ããã³ããããblameããé¤å¤ãããã¨ãã§ããããã«ãªãã¾ããã git blame --ignore-revã®ä½¿ãæ¹ --ignore-revã«ã³ãããããã·ã¥ã渡ãã¨ãã®ã³ãããã¯blameããé¤å¤ããã¾ãã # ã³ãããããã·ã¥ã¯æ¶ç©ºã®ãã®ã§ã $ git
ããã«ã¡ã¯ãSWETã§CI/CDãã¼ã ã®åç°ï¼ @mad_p ï¼ã§ãã SWETã§ã¯CI/CDãã¼ã ã®ä¸å¡ã¨ãã¦ãJenkinséç¨ã®ãµãã¼ãããCI/CDåãã®ãã¦ãã¦èç©ã»ç ç©¶ããã¦ãã¾ãã ã¯ããã« Gitãªãã¸ããªãã¯ãã¼ã³ããã¨ããã¼ã«ã«ãã©ã«ãã«ã¯ãã®ãªãã¸ããªã®å ¨ä½ããã¦ã³ãã¼ããã .git ã¨ãããã©ã«ãã«æ ¼ç´ããã¾ãããã©ã³ãããã§ãã¯ã¢ã¦ãããã¨ããã©ã³ãå ã®ãã¡ã¤ã«ãã¯ã¼ãã³ã°ããªã¼ã¨ãã¦å±éããã¾ãããã®æ§åãå³ã«ããã¨ãã®ããã«ãªãã¾ãã ãã® .git ã¨ã¯ã¼ãã³ã°ããªã¼ã®ä½¿ããã£ã¹ã¯å®¹éãç¯ç´ãããã¨ããã®ãä»åã®ã話ã§ããç¹ã«Jenkinsã«ããã¦ã大ããã®Gitãªãã¸ããªãã¯ãã¼ã³ãã¦ããå ´åã«èª²é¡ãããããããã工夫ãã¦ã¿ãã®ã§ããã®çµæãç´¹ä»ãã¾ããåãCI/CDãã¼ã ã®å ç¬ã«ããè¨äºãå¤§è¦æ¨¡ãªãã¸ããªã§é«éã«git cloneãããã¯ããã¯ãã¨å 容
å大ãªãªãã¸ããªã®ä¸é¨ã ããå©ç¨ããã Gitã§ç¹å®ã®ãã¡ã¤ã«ããã£ã¬ã¯ããªã ãcloneããã ããããããªããããããã®ã¯ Sparse checkout ã§ã¯ãªãã§ãããã å äººã®æ å ±ã«ããã°ãã¨ããããæ®éã« clone ãããã¨ããä¾ãå¤ãã®ã§ããããã¡ã¤ã«æ°ãå¤ãå ´åãªã©ããã¹ã¦ã clone ããããªãå ´åãããã¾ãã ãã®ãããªå ´åã¯ä¸è¨ã®ããã«ã㦠sparse checkout ãæå¹ã«ãã¾ãã ãªãã¸ããªã®å ãå¿ è¦ã¨ãªãã®ã¯ã³ã³ãã¤ã«ãããããããã¡ã¤ã« 1 ã¤ã ã ã¨ãããã¨ããããªãã«ããã®ã§ sparse checkout ãã§ããã¨ããããæã«ä¾¿å©ããã ã ãã ã調æ»ããæãã§ã¯å¤§è¦æ¨¡ãªãªãã¸ããªã®ä¸é¨ã ããå©ç¨ããã¨ããç¨éã®å ´åã sparse checkout 㨠submodule ãçµã¿åãããå¿ è¦ããããããã ããããªããã¨ã¯ 1 ã¤ãã¤ãã§ãã¯
ã¤ã³ã¿ã¼ãããã«ã¯ãGit ãµãã¢ã¸ã¥ã¼ã«ã使ãã¹ãã§ã¯ãªãã¨ããè¨äºãããµãã¦ãã¾ããè¥å¹²ã®ä½¿ç¨ä¾ã§ãµãã¢ã¸ã¥ã¼ã«ãå½¹ç«ã¤å ´åããããã®ã®ãæ¬ ç¹ã¯ããã¤ãããã¾ãã ä»£æ¿ææ®µã¯ããã§ãããã? ãã¡ããããã¾ããå°ãªãã¨ã 2 ã¤ã®ãã¼ã«ã§ã¯ãGit ã使ãç¶ããªãããããã¸ã§ã¯ãå ã®ã½ããã¦ã§ã¢ã®ä¾åé¢ä¿ã®å±¥æ´ã追跡ã§ãã¾ãã Git subtree google repo ãã®è¨äºã§ã¯ãgit subtree ã«æ³¨ç®ããå®å ¨ã¨ã¾ã§ã¯è¨ããªããã®ã®ããã git submodule ã®åé¡ã解決ãããã®ã§ãããã¨ã説æãã¦ã¿ã¾ãã
A long-standing objection to making bulk changes to code using automated tools (e.g. to conform to a given code style) is that it clutters the output of git blame. With git 2.23, this does not have to be the case anymore! In this post I will start by explaining the value of git blame and how commits with style changes in bulk can be problematic. If you already understand this problem and just want
git diffã§1è¡ã«ãã¼ã¿ãè©°ã¾ã£ã¦ããJSONãããæãã«å·®å表示ããæ¹æ³ jqãã¤ã³ã¹ãã¼ã« $ brew install jq Gitã®å±æ§ãä»ããï¼*.jsonã«ããããããã¡ã¤ã«ã¯diffã®åã«jsonãã£ã«ã¿ãéãããã«ï¼ $ echo "*.json diff=json" >> .gitattributes ã¾ã㯠$ echo "*.json diff=json" >> .git/info/attributes jsonãã£ã«ã¿ãè¨å® $ git config diff.json.textconv "jq -S ." ãã¨ã¯æ®éã«git diffããã°OK git diffã§ã¯ãªãã¦åç´ã«2ã¤ã®ãã¡ã¤ã«ã®å·®åãè¦ããã ããªãã°json-diffã使ãã¨ãã $ npm install json-diff $ json-diff original.json modifie
git ã§ç®¡çãã¦ããããã¸ã§ã¯ãã®ä¸ã«ä»ã® git ããã¸ã§ã¯ããæ··ããæ¹æ³ãæ¸ãã¾ããä¾ãã°ç§ã® lispã³ã³ãã¤ã© tamacola ã§ã¯ãabcsx ã¨ããå¥ã®ã¬ãã¸ããªã«ããã¢ã»ã³ãã©ã使ã£ã¦ãããã ãã©ããããã©ã¤ãã©ãªã¨ãã¦ä½¿ãããããããåã«ã³ãã¼ããã ããããªãã¦ãããã abcsx ã夿´ããæã«ããã®å¤æ´ç¹ãå ã®ã¬ãã¸ããªã«ãåæ ãããããããªç¶æ³ã§ãã ããã§å½¹ç«ã¤ã®ããµããã¼ã¸ããªã¼ã¨ããä»çµã¿ã§ããæ®é git ã§ã¯äºã¤ã®ããã¸ã§ã¯ããæ··ãã¦ä¸ã¤ã®ã¬ãã¸ããªãä½ãããã¨ããä¸ã¤ã®ãã£ã¬ã¯ããªã«äºã¤ã®ããã¸ã§ã¯ããæ··ãã£ã¦ãã¾ãã¾ãããµããã¼ã¸ããªã¼ã使ãã¨ãã©ã¤ãã©ãªã¨ãã¦ä½¿ãããæ¹ã®ããã¸ã§ã¯ãããµããã£ã¬ã¯ããªã¨ãã¦ãã¼ã¸ããäºãåºæ¥ã¾ãã ãµããã¼ã¸ããªã¼ã使ã£ã使¥ããªã¼ã®ä½ãæ¹ã ã¾ããããªãã¯ã¨ãã git ã¬ãã¸ããªä¸ã§ä»äºããã¦ããã¨ãã¾ããab
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}