æ¬ç¹éã®ç¬¬1åãVisual Studio Codeã®ä½¿ãæ¹ãåºæ¬ã®ããããã§ã¯Visual Studio Codeï¼ä»¥ä¸ãVS Codeï¼ã®åºæ¬çãªä½¿ãæ¹ãç´¹ä»ãã¦ããããä»åã¯VS CodeããGitã使ãæ¹æ³ã«ã¤ãã¦è¦ã¦ã¿ããã¨ã«ãããããªããæ¬ç¨¿ã¯VS Code 1.23ããã¼ã¹ã¨ãã¦ãããã¾ããåºæ¬çã«ã¯Windowsçï¼64ãããã®VS Codeã§åä½ã確èªãã¦ããï¼macOSçã§ããã£ããã¨ãã確èªã¯ãã¦ããï¼ã VS Codeã§Gitãæ´»ç¨ããï¼ï¼»ã½ã¼ã¹ç®¡çï¼½ãã¥ã¼ VS Codeã¯æ¨æºã®ç¶æ ã§Gitã½ã¼ã¹ç®¡çããã¸ã£ã¼ï¼Git SCMï¼æ¡å¼µæ©è½ãå«ãã§ããããã ããäºåã«Gitãã¤ã³ã¹ãã¼ã«ãã¦ãããã¨ãåæã¨ãªããã¤ã³ã¹ãã¼ã«ãã¦ããªãå ´åã«ã¯ã次ã®ç»é¢ã®ãããªã¡ãã»ã¼ã¸ã表示ãããã®ã§ãGitã®ã¤ã³ã¹ãã¼ã«ï¼è¨å®ãè¡ã£ã¦ãããã
è«çæ§ã®é«ã commit ãä½ãæ¹æ³ git rebase -i ã³ãã³ããæ´»ç¨ããã rebase -i ã使ç¨ãããã¨ã§ commit ã® çµå/åå²/æ¸ãæã/é åºå ¥ãæ¿ã ãå¯è½ã 以ä¸ã§ã¯ä¸çªä½¿ãã§ãããçµå(squash)ã«ã¤ãã¦ç´¹ä»ãã¾ãã $ git log --oneline bfc2a57 (HEAD -> master) TOPç»é¢ã®å®è£ e84e22e ã¨ã©ã¼ã¡ãã»ã¼ã¸ã®typoä¿®æ£ ba76419 ã¨ã©ã¼ã¡ãã»ã¼ã¸ã®è¿½å ãããªæãã® commit log ããã£ãã¨ãã¾ãã ãããããã¡ãªã±ã¼ã¹ã ã¨æãã¾ãã typoä¿®æ£ã ãã®ã³ããããªãã¦ã¾ã¨ãã¦ãã¾ãããã§ãããã ãã㧠git rebase -i ã®åºçªã§ãã $ git rebase -i HEAD~3 # HEAD 㯠@ ã¨ãæ¸ãããä¾¿å© $ git rebase -i @~3 ä¸ã®ã³ãã³ãã§H
ãJenkins Xãçºè¡¨ãGit/Docker/Kubernetesã«ç¹åãããã¨ã§CI/CDç°å¢ã®æ§ç¯éç¨ãèªåå ã½ããã¦ã§ã¢ã®éçºããã»ã¹ã«ããã¦ããJenkinsãã¯ãã«ãããã¹ãããããã¤ãªã©ãèªååãã¦ããããã¼ã«ã¨ãã¦ããç¥ããã¦ãã¾ãã ãã®Jenkinsã®æ´¾çããã¸ã§ã¯ãã¨ãã¦ããJenkins Xããçºè¡¨ããã¾ãããJenkins Xã¯ãGitãDockerãKubernetesã®ç°å¢ãåæã¨ãããã¨ã§ãJenkinsã®è¨å®ãéç¨ãªã©ãå¤§å¹ ã«èªååããããç°¡åãªå°å ¥ã¨éç¨ãå®ç¾ãããã®ã§ãã Jenkins Xã¯ãGit/Docker/Kubernetesç°å¢ã«ç¹å ãªãªã¸ãã«ã®Jenkinsã¯æ±ç¨çãªãã«ãããã¹ãã®èªååãã¼ã«ã¨ãã¦ããã¾ãã¾ãªç°å¢ããã¼ã«ã¨é£ä¿ã§ããããã«ä½ããã¦ãã¾ãããã®ããæè»ãªã³ã³ãã£ã°ã¬ã¼ã·ã§ã³ãå¯è½ã«ãªã£ã¦ãã¾ãããä¸æ¹ã§ãããå°å ¥ã
Gitãç解ããã«ã¯Gitã®ä¸èº«ã®ç¥ãã®ãè¯ãã ã¨å¤©ã®å£°ãèããã¦ããã®ã§å¦ç¿ãã¦ãã¾ã¨ãããã¨ã«ãã¾ããã ãã®è¨äºã¯å人ã¡ã¢çãªè¨äºã§ãã åºæ¬çã«æ¢åºæ å ±ãªã®ã§ã¿ã¤ãã«ãã¿ã¦ãã³ã¨æ¥ã¦ããããã¯èªãå¿ è¦ãããã¾ããã â»ãã®è¨äºãèªãã¿ã¤ãã³ã°ã¨ãã¦ã¯Gitã®åºæ¬çãªæä½ã¨æ¦å¿µãããç¨åº¦ç解ãã ãã¨ãè¯ãã¨æãã¾ããææ§ãªåºæºã§ããã Gitã®2種é¡ã®ã³ãã³ã é ç®¡ï¼ Plumbing ï¼ ã³ãã³ã ç£å¨ï¼ Porcelain ï¼ ã³ãã³ã Gitã®ä¸èº« Gitãªãã¸ã§ã¯ã blob ãªãã¸ã§ã¯ã tree ãªãã¸ã§ã¯ã commit ãªãã¸ã§ã¯ã tag ãªãã¸ã§ã¯ã åç § .gité ä¸ã®ãã¡ã¤ã«ããã£ã¬ã¯ããªã®èª¬æ HEAD ãã¡ã¤ã« index ãã¡ã¤ã« objects ãã£ã¬ã¯ã㪠refs ãã£ã¬ã¯ã㪠é¢é£è³æ Gitã®2種é¡ã®ã³ãã³ã Gitã®ä¸èº«ã¯ãã¼ããªã¥ã¼åã®
ä»æ¥ã¯ã¿ã¤ãã«ã©ããï¼ æè¿ã¿ããªã ãããGitã¨Githubã å®ã¯ããããã£ã¦ãªãã£ã¦ãã人ãè¦ãã ã¡ãã£ã¨ãã£ãããããããããªããï¼ ã£ã¦ããã¹ã©ã¤ããç¨æããã®ã§ ããã«è²¼ãã¤ãã¡ããã¾ãã ãã¨ãã¨ã社å åå¼·ä¼ç¨ã ã£ããã© ãã£ããã ãããã°ã«ãè²¼ã£ã¡ãããããªã¨æã£ã¦ã
ï¼â»3æ18æ¥è¿½è¨ï¼å½åãSSHå ¬ééµã®ç®¡çæ©è½ãã«ããã¦ãGitBucketããÃãã¨ãã¦ãã¾ããããSSHã¢ã¯ã»ã¹æ©è½ãæ©è½ãæå¹ã«ãããã¨ã§SSHå ¬ééµã®ç®¡çæ©è½ãå©ç¨ã§ããã¨ã®ãã¨ã§ããâãã«ä¿®æ£ãã¾ããï¼ GitLabããã³GitBucketã¨ãRedmineããã³Tracã¨ã®å¤§ããªéãã¨ãã¦ããã©ã¼ã¯ããã¼ã¸/ãã«ãªã¯ã¨ã¹ãæ©è½ããµãã¼ããã¦ãããã©ãããããããããã®æ©è½ãå©ç¨ãããã®ã§ããã°ãGitLabãGitBucketãåè£ã¨ãªãã ããã ãã£ã½ããRedmineã¯ã«ã¬ã³ãã¼æ©è½ãã¬ã³ããã£ã¼ãã¨è¨ã£ãããã¸ã§ã¯ã管çæ©è½ãå å®ãã¦ããã®ãç¹å¾´ã ãã¾ããTracã¯ã·ã³ãã«ãªã¦ã¼ã¶ã¼ã¤ã³ã¿ã¼ãã§ã¤ã¹ãããã©ã°ã¤ã³ã«ããã«ã¹ã¿ãã¤ãºæ§ã®é«ããããããã©ã¼ã¯ããã¼ã¸/ãã«ãªã¯ã¨ã¹ãæ©è½ãå©ç¨ããªãã®ã§ããã°ãããã¸ã§ã¯ã管çæ©è½ãå å®ãã¦ããRedmineãTracã¯ååãª
æ°åã¨ã³ã¸ãã¢ç ä¿®ã§ä½¿ã£ãè³æã§ãã
人éã¨ã¦ã§ãã®æªæ¥ï¼æ§ï¼ ãã¦ã§ãã®æ´å²ã¯äººé¡ã®æ´å²ã®ç¹°ãè¿ããã¨ãã観ç¹ããè²ã åå¼·ãã¦ãã¾ãã2014å¹´ã¾ã§ã®äººéã¨ã¦ã§ãã®æªæ¥ã®æ§ããã°ã§ãã Gitã®ã³ãããåä½ã§åçã«Dockerã¤ã¡ã¼ã¸ããããã¤ãããããã·ãµã¼ãpoolã¨ããã½ããã¦ã§ã¢ãããã¾ãã poolã¨ã¯ poolã¯ãWebã¢ããªã¨DockerfileãGitã§ç®¡çãã¦ããå ´åã«ãã³ãããidããµããã¡ã¤ã³ã¨ãã¦ï¼ http://<commit-id>.pool.dev/ ï¼poolã«ã¢ã¯ã»ã¹ããã ãã§ããã®Gitã¬ãã¸ããªã®ã³ãããæã®ç¶æ ã§Webã¢ããªã®Dockerã¤ã¡ã¼ã¸ããããã¤ããWebã¢ããªã®ãã¼ãã¸ã¨ãªãã¼ã¹ãããã·ãã¦ãWebã¢ããªã®ã¬ã¹ãã³ã¹ãè¿ãã¾ãããã¡ãããã³ãããidããã¼ã«è¤æ°ã®ç¶æ ã«ã©ãã©ãã¢ã¯ã»ã¹ã§ãã¾ããï¼mod_mrubyã®ã¦ã¼ã¹ã±ã¼ã¹ã調æ»ãã¦ãã¦ãã¾ãã¾è¦ã¤ãã¾ããï¼ã ãã®p
æ¥å¹´ã¯ãã¤ã³ããããããã®ã¢ã¦ããããã®å¢å ãç®æãã¦ãã¾ããå ·ä½çãªã¢ã¦ããããã¨ãã¦ã¯ãããã°ãæ¸ããã¨ããã®1ã¤ã§ãããå ¬éã»éå ¬éãåããã«å¹ççã«ããã¥ã¡ã³ããæ¸ãã¦ãããã¨ãããã¾ãããã®ä¸ã§å¹ççã«ããã¥ã¡ã³ããæ¸ãã«ã¯ããã¼ã¸ã§ã³ç®¡çãå«ãããã¥ã¡ã³ãã管çããä»çµã¿ãå¿ é ã ã¨æãã¾ãã以åãå稿ãæ¸ãã¦ããæã¯ãGit+MS Wordã§æ¸ãã¦ãã¾ãããç管çåºæ¥ãã¨ããç¹ã§ã¯è¯ãã®ã§ãããWordã¨ãããã¨ã§å·çåºæ¥ã端æ«ãéå®ãããã¾ããã©ã¼ãããå¤æ´ããã¥ããã®ã§æ¹åãèãã¦ãã¾ããã ãããªä¸ã§ãITç³»ã®ç©æ¸ãã®äººãã¡ã®éã§ReVIEWè¯ããã¨ãã話ãä½åº¦ãèããã®ã§è©¦ãã¦ã¿ããã¨æãã¾ãããä¸æ¹ã§ãè¨è¿°ã®ããã¡ã¯ãã¯ä»å¾ã¯MarkDownåºæ¬ã«ãªãã¨æãã®ã§ãã¡ãããã¹ã¿ã¼ãããã¨èãã¦ãã¾ããTwitterã§ä½æ°ãªãåãããã@masawadaããã«md2rev
æãæè¿commitããããã©ã³ããanythingã©ã¤ã¯ã«çµãè¾¼ãã§checkoutãããã¨ãããã®ãzawã®æãpercolã®æãå®è£ ãã¦ããã zawã使ã£ã¦æè¿æ´æ°ãããã©ã³ãããã§ãã¯ã¢ã¦ããã - $shibayu36->blog; ã¿ã¼ããã«çanythingçãªpercolãzawã®ä»£ããã«è©¦ãã¦ã¿ã - $shibayu36->blog; æè¿ã¯pecoã使ãããã«ãªã£ãã®ã§ãã»ã¼ã³ããã§åå®è£ ããã è¨å®æ¹æ³ git-recent-branches.zshã®ãããªãã¡ã¤ã«ãç¨æããpeco-git-recent-branchesã¨peco-git-recent-all-branchesãå®è£ ããã function peco-git-recent-branches () { local selected_branch=$(git for-each-ref --forma
çããã¯ããã¸ã§ã¯ãã®ãªã½ã¼ã¹ã¨ãã¦ã¨ã¯ã»ã«ã® xlsx ãã¡ã¤ã«ã使ãäºãããã¨æãã¾ãã ä½ã¦ã£ãã£ã¦äºåè·ã®äººã§ãã楽ã 使ããã¹ã¼ãã¼åªãã UI ãªã®ã§ã web ã®ç®¡çç»é¢ã¨ããä½ãè¾¼ããããã¨ã¯ã»ã«ã§ã·ã¼ãä½ã£ã¦ããã£ã¦ãã¾ã£ãæ¹ãæ©ãã±ã¼ã¹ãå¤ããã§ããç¾å®ã®ä¸çã§ã¯ã ã§ãæ®éã®äººã¯ TSV ã«ããã ã® CSV ã«ãã¦ãããã ã®ããã¨æããã§ãããä¸æ¹çã«ãã¼ã¿è²°ãã ããªãè¯ããã ãã©ãç¸æã¨ããåãããæã«ã¯ã©ããã¦ã xlsx ãã¡ã¤ã«çµç±ã¨ãã«ããªãã¨ç¸æããã¾ãï¼ãã£ã±ãã¨ã³ã¸ãã¢ã®ã¨ã¯åªããã®ã¨ã ããç¸æã«åªããããªãã¨ã ãã§ãã ã§ã xslx ãã¡ã¤ã«ã§ã¨ã³ã¸ãã¢ä»¥å¤ã®äººã¨ãã¼ã¿ããåãããã¨ãã£ã±ãããã¼ã¸ã§ã³ç®¡çããããªãã®ã人æ ã§ãã ã§ã xslx ãã¡ã¤ã«ã¯ãã¤ããªãã¡ã¤ã«ãªã®ã§ git diff ã¨ããæ®å¿µã§ãããã ã£ã¦äºã§ä½ã£ã¡ããã¾ããã h
Github (å«ãEnterprise) ã§éçºããã¦ãããªããGithub Kaigiã§ãç´¹ä»ããã¦ãã git-pr-release ã便å©ã§ããèªåã®ä¼ç¤¾ã§ã¯ã¢ããªã®ãªãªã¼ã¹åã«QAãå®æ½ãã¦ããã®ã§ãããQAãå§ããåã«ã©ã®æ©è½ããªãªã¼ã¹ãããã®ãããªã¹ãã¢ãããããããGoogleã¹ãã¬ããã·ã¼ãã«å ¥åããä½æ¥ãç¹éã§ããã git-pr-release ã使ãã¨ãããããªãªã¼ã¹Pull Requestã«éç´ãã¦èªååãããã¨ãã§ãã¾ãããªãªã¼ã¹Pull Requestã¨ã¯ä»¥ä¸ã®ãããªãã®ã§ã (ã¹ã¯ã·ã§ã¯ãã®ãã¼ã«ã®PRç¨ã«ä½ã£ãããã¼)ã å ·ä½çãªãªãªã¼ã¹ã¾ã§ã®ä½æ¥æé ã¯ä»¥ä¸ã®ããã«ãªãã¾ãã éçºãã©ã³ãã«ãªãªã¼ã¹ããæ©è½ã®Pull Requestãmergeãã¦ãã git-pr-release ãå®è¡ mergeæ¸ã¿ã®Pull Requestã®æ å ±ãéãã¦ãã§ãã¯ãªã¹
4kakudez.com 2023 èä½æ¨©. ä¸è¨±è¤è£½ ãã©ã¤ãã·ã¼ããªã·ã¼
2. + ç¥ã£ã¦ããåèªã¯ããã¤ããã¾ããï¼ â åä½ãã¹ã or TDD (Test Driven Development) â ç¶ç¶çã¤ã³ãã°ã¬ã¼ã·ã§ã³ â ç¶ç¶çããªããªã¼ â Git â Jenkins 3. + ã¿ã¤ãã«ï¼ãã¼ã éçºå®è·µå ¥ é + çºè¡æï¼æè¡è©è«ç¤¾ + å 容ï¼âè¤æ°ã®äººãã¡ã§ãã¼ã ãçµãã§éçºãé²ãã¦ããé ã«å¿ è¦ãªèãæ¹ã使ç¨ãã ãã¼ã«ãã¾ããããããã¾ã 使ãããªãããã®ãã¦ãã¦ã ã¾ã¨ãã¦âãã
Git2.0ãã¾ããªããªãªã¼ã¹ãããããã§ãã Git v2.0 Release Notes ãªãªã¼ã¹ãã¼ãããã¨ã«ãä¸è¶³æ©ãæ°æ©è½ã¨å¤æ´ç¹ã®ç´¹ä»ããã¦ã¿ã¾ãã ï¼åæ©è½ã«ã¤ãã¦ã¯ã¾ã åä½ç¢ºèªãã¦ããã¾ããã®ã§ãããããããããªã©ããã°ãææãã ããï¼ å¼æ°ãªãã®git pushãå®å ¨ã«ãªãã¾ããã When "git push [$there]" does not say what to push, we have used the traditional "matching" semantics so far (all your branches were sent to the remote as long as there already are branches of the same name over there). In Git 2.0, the default is no
Gitã®ãªãã¸ããªå ã§ä½æ¥ãã¦ãã¦ï¼æ·±ãé層ãããªãã¸ããªã®ãããã¬ãã«ã«è¡ãããã¨ãï¼../ãä½åº¦ãæã£ã¦ä¸çªä¸ã«è¡ãã®ã¯ããã©ãï¼ % pwd /Users/fkd/co/hatena-bookmark-xul/chrome/content/browser % cd ../../../ % pwd /Users/fkd/co/hatena-bookmark-xulç®è¦ã§../../ã¨ãæã£ã¦ããã¨ééããèµ·ããããªã®ã§ï¼ããããã®ã¯ãããªãï¼ ãããã¬ãã«ã«cdããããã®ã³ãã³ããä½ã£ãï¼ http://gist.github.com/300270 function u() { cd ./$(git rev-parse --show-cdup) } ããã§ï¼uã¨æã¤ã ãã§ãããã¬ãã«ã¾ã§è¡ããï¼Gitã®ãªãã¸ããªã§ãªãã¨ãï¼ä½ãèµ·ããªãï¼ è¿½è¨ id:tyruãããæ¹è¯ãã¦ãã ããã¾ã
çãããtigã³ãã³ããæ´»ç¨ãã¦ãã¾ããï¼ tigã¯ãã³ã³ã½ã¼ã«ä¸ã§ä½¿ããgitãã©ã¦ã¶ã§ããå®ã¯ãã£ã¨ããã ã®ããããªgit logã ã¨æã£ã¦ããã®ã§ãããæ¬å½ã¯ãããªãã¨ã¯ããã¾ãããããªã使ãããã¤ãªã®ã§ãã ã¤ã³ã¹ãã¼ã« ã½ã¼ã¹ã³ã¼ã: https://github.com/jonas/tig ã¤ã³ã¹ãã¼ã«æ¹æ³: https://github.com/jonas/tig/blob/master/INSTALL.adoc ãã®è¾ºããåèã«ãã¦ã¿ã¦ãã ããã詳細ã¯å²æãã¾ãã åºæ¬ã®ä½¿ãæ¹ ãã®ç¶æ ã®å·®åãæ±ã£ã¦ããã¾ãããã¤ãã®ããã ã¨ãããªæãã git logãç´ æµã«ãã¸ã¥ã¢ã©ã¤ãºããã¦ã¾ãããã®ç»é¢ãmain viewã¨ããã¾ãã ããã§ã¨ã³ã¿ã¼ãæ¼ãã¨ãä¸ååã«å·®åã®è©³ç´°ï¼diff viewï¼ã表示ããã¾ãã ä¸ç¢å°ã§ãUnstaged changesã®å·®åãè¦ã¦ã¿ãã¨ãããª
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}