tech_memo
¥È¥é¥Ö¥ë¥·¥å¡¼¥È †
¥³¥ó¥Õ¥ê¥¯¥ÈȯÀ¸»þ¤ÎÂбþ †
- push¤Ë¤·¤í¡¢pull¤Ë¤·¤í¡¢¥³¥ó¥Õ¥ê¥¯¥È¤¬È¯À¸¤·¤¿¾ì¹ç¤Ë¤ä¤ë¤³¤È¤ÏƱ¤¸
- ¥í¡¼¥«¥ë¤ÎÊÔ½¸Ãæ¤Î¥Õ¥¡¥¤¥ë¤Ïgit commit¤«¡¢git checkout¤·¤Æ̤ÊÔ½¸¾õÂ֤ˤ¹¤ë
- git pull¤·¤Æ¡¢¥ê¥â¡¼¥È¤ÎÊѹ¹¤ò¼è¤ê¹þ¤à
- ¤³¤Î¤È¤¡¢¼«Æ°¥Þ¡¼¥¸¤Ç¤¤Ê¤¤¥³¥ó¥Õ¥ê¥¯¥È¤¬È¯À¸¤·¤¿¾ì¹ç¡¢viÅù¡¢¼êÆ°ÊÔ½¸¤ÇÊѹ¹¤ò¼è¤ê¹þ¤à¡£°Ê²¼¤Ï¥³¥ó¥Õ¥ê¥¯¥È¤¬È¯À¸¤·¤¿¥Õ¥¡¥¤¥ë¤ÎÎã¡£
<<<<<<<< HEAD
¥í¡¼¥«¥ë¤ÎÊÔ½¸ÆâÍÆ
=======
¥ê¥â¡¼¥È¤Î¼è¤ê¹þ¤à¤Ù¤ÆâÍÆ
>>>>>>>> 72616890b37a0fb7b2f8cadf83524ed591430d5f
- git commit¤·¤Æ¡¢¥Þ¡¼¥¸¤ò¥í¡¼¥«¥ë¤ËŬÍÑ
- git push¤Ç¥ê¥â¡¼¥È¤ËŬÍÑ¡£²ò·è¡£
- ²¼µ¥µ¥¤¥È¤Î¡Ö7. ¾×ÆÍ(conflict)¤òÍý²ò¤¹¤ë¡×¤¬»ÅÁȤßŪ¤Ë¤«¤Ê¤ê¤ï¤«¤ê¤ä¤¹¤¤
HTTP¤Ç¤Îgit push¤¬¤Ç¤¤Ê¤¤ †
git clone¤Ç¡¢(gnome-ssh-askpass:28635): Gtk-WARNING **: cannot open display: †
- SSH_ASKPASS´Ä¶ÊÑ¿ô¤ò¥¢¥ó¥»¥Ã¥È¤¹¤ë
shishimaru@v-cent65% unset SSH_ASKPASS
- ¼«Á°¤Ç¥Ñ¥¹¥ï¡¼¥É¤òecho¤¹¤ë¥·¥§¥ë¤òÍÑ°Õ¤·¤Æ¡¢¤½¤Î¥¹¥¯¥ê¥×¥È¤ò´Ä¶ÊÑ¿ô¤ËÀßÄꤹ¤ë
shishimaru@v-cent65% export SSH_ASKPASS=/home/shishimaru/git_pass.sh
- clone¤¹¤ë¤È¤¤ÎURL¤Ë¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤ò´Þ¤á¤ë
shishimaru@v-cent65% git clone http://shishimaru:<PASSWORD>@v-cent65:8180/shishimaru/myproject.git
¥ê¥â¡¼¥È¥ê¥Ý¥¸¥È¥ê¤ÎÆâÍƤò¥í¡¼¥«¥ë¤Ë¶¯À©È¿±Ç¤¹¤ë †
¶õ¥Ç¥£¥ì¥¯¥È¥ê¤ògit add¤¹¤ëÊýË¡ †
- »²¹Í : http://phiary.me/git-empty-directory-add/
- tmp¥Ç¥£¥ì¥¯¥È¥ê¤ò¶õ¤È¤·¤ÆÅÐÏ¿¤¹¤ëÎã(¼ÂºÝ¤Ï1¥Õ¥¡¥¤¥ë¤À¤±ÅÐÏ¿¤·¤Æ¡¢¤½¤ì°Ê³°¤Ï.gitignore¤Ç̵»ë¤µ¤»¤ë¤È¤¤¤¦¼êË¡)
- tmp¥Ç¥£¥ì¥¯¥È¥ê¤Î²¼¤Ë.gitkeep¤È¤¤¤¦¥Õ¥¡¥¤¥ë¤òºîÀ®¡Ê̾Á°¤Ï¤Ê¤ó¤Ç¤âOK)
tmp/.gitkeep
- .gitignore¤Ë.gitkeep°Ê³°¤Ï̵»ë¤¹¤ëÀßÄê¤òµÆþ
tmp/*
!.gitkeep
git´ÉÍý¤«¤é½ü³°¤¹¤ë(.gitignore) †
´û¤Ëgit´ÉÍý²¼¤Ë¤¢¤ë¥Õ¥¡¥¤¥ë¤ògit´ÉÍý¤«¤é½ü³°¤¹¤ë †
- »²¹Í : http://d.hatena.ne.jp/hkobayash/20130416/1366129434
- ÊýË¡¡ assume-unchanged
- #̵»ë
git update-index --assume-unchanged [¥Õ¥¡¥¤¥ë̾]
- #̵»ë²ò½ü
git update-index --no-assume-unchanged [¥Õ¥¡¥¤¥ë̾]
- ¸½ºß¤ÎÀßÄê³Îǧ
git ls-files -v
h hoge.txt # ¾®Ê¸»ú¤À¤ÈÀßÄêON
H huga.txt
- ÊýË¡¢ skip-worktree
- #̵»ë
git update-index --skip-worktree [¥Õ¥¡¥¤¥ë̾]
- #̵»ë²ò½ü
git update-index --no-skip-worktree [¥Õ¥¡¥¤¥ë̾]
- ¸½ºß¤ÎÀßÄê³Îǧ
git ls-files -v
S hoge.txt # ¥¹¥Æ¡¼¥¿¥¹S¤À¤ÈÀßÄêON
H huga.txt
- ¡¤È¢¤Î°ã¤¤
- ¥í¡¼¥«¥ë¡¢¥ê¥â¡¼¥È¤È¤â¤ËÊÔ½¸Ãæ¤Çgit pull¤·¤¿¾ì¹ç
- ¡ ¥í¡¼¥«¥ë¤ÎÊѹ¹¤ÏÇË´þ¤µ¤ì¤Æ¡¢¥ê¥â¡¼¥È¤Î¾õÂÖ¤ò¼è¤ê¹þ¤à
- ¢ ¥í¡¼¥«¥ë¤ÎÊѹ¹¤òÊÝ»ý¤·¡¢¥ê¥â¡¼¥È¤Î¾õÂÖ¤ò¼è¤ê¹þ¤Þ¤Ê¤¤
- ¥í¡¼¥«¥ëÊÔ½¸Ãæ¤Çgit reset --hard¤·¤¿¾ì¹ç
- ¡ ¥í¡¼¥«¥ë¤ÎÊѹ¹¤ÏÇË´þ
- ¢ ¥í¡¼¥«¥ë¤ÎÊѹ¹¤òÊÝ»ý
°ìÉô¤Î¥µ¥Ö¥Ç¥£¥ì¥¯¥È¥ê¤À¤±¤òcheckout¤¹¤ë †
- git sparse(¤Þ¤Ð¤é¤Ê¤Î°Õ)¤Ç²Äǽ
ºÇ½é¤Ëclone¤¹¤ëÊýË¡ †
- git clone¤Ç¥í¡¼¥«¥ë¥ê¥Ý¥¸¥È¥êºîÀ®
git clone <¥ê¥Ý¥¸¥È¥êURL>
- sparsecheckout ¤ò͸ú¤Ë¤¹¤ë
git config core.sparsecheckout true
- ¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ëÂоݤΥǥ£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤ò .git/info/sparse-checkout ¤ËµÆþ
echo I_want/this_folder/ > .git/info/sparse-checkout
- ²¼µ¥³¥Þ¥ó¥É¤ò¼Â¹Ô¡£¥Ä¥ê¡¼¾ðÊó¤òÆɤ߹þ¤ó¤Çindex¤Ë¥Þ¡¼¥¸¤¹¤ë¤é¤·¤¤¡£
git read-tree -m -u HEAD
- ¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ëÂоݤò Áý¤ä¤¹¾ì¹ç¤Ï¡¢git/info/sparse-checkout ¤ËÄɵ¤·¡¢git read-tree¤òºÆ¼Â¹Ô
echo I_forget/this_folder/ >> .git/info/sparse-checkout
git read-tree -m -u HEAD
ºÇ½é¤Ëclone¤·¤Ê¤¤ÊýË¡ †
- ¶õ¤Î Git ¥ê¥Ý¥¸¥È¥ê¤È¤·¤Æ½é´ü²½
git init
- sparsecheckout ¤ò͸ú¤Ë¤¹¤ë
git config core.sparsecheckout true
- ¥ê¥â¡¼¥È¥ê¥Ý¥¸¥È¥ê¤Î URL ¤ò origin ¤È¤·¤ÆÅÐÏ¿
git remote add origin <¥ê¥Ý¥¸¥È¥êURL>
- ¥Á¥§¥Ã¥¯¥¢¥¦¥È¤¹¤ëÂоݤΥǥ£¥ì¥¯¥È¥ê¡¢¤Þ¤¿¤Ï¥Õ¥¡¥¤¥ë¤ò .git/info/sparse-checkout ¤ËµÆþ
echo "child/*" > .git/info/sparse-checkout
- ¹¥¤¤Ê¥Ö¥é¥ó¥Á¤ò pull (checkout) ¤¹¤ë
git pull origin master
¥Ö¥é¥ó¥Á´ÉÍý †
¥Ö¥é¥ó¥ÁºîÀ® + ¥ê¥â¡¼¥È¤Ëpush †
¥ê¥â¡¼¥È¤Î¥Ö¥é¥ó¥Á¤ò¥í¡¼¥«¥ë¤Ëcheckout †
- ¥ê¥â¡¼¥È¤«¤é¥Ö¥é¥ó¥Á¤ò¼èÆÀ
git branch develop origin/develop
- checkout¤ÈƱ»þ¤Ë¤½¤Î¥Ö¥é¥ó¥Á¤Ë°ÜÆ°¤¹¤ë¾ì¹ç
git checkout -b develop origin/develop
- °Ê²¼¤Ï¸½ºß¤¤¤ë¥í¡¼¥«¥ë¥Ö¥é¥ó¥Á¤Ë¥Þ¡¼¥¸¤µ¤ì¤ë¤Î¤Ç¡¢´üÂÔ¤¹¤ëºî¶È¤Ç¤Ê¤¤¾ì¹ç¤Ï¤ä¤Ã¤Æ¤Ï¤¤¤±¤Ê¤¤
git pull origin [develop:]develop
¥Þ¡¼¥¸ †
¥³¥Þ¥ó¥É †
git status †
git´ÉÍý³°¥Ç¥£¥ì¥¯¥È¥êÇÛ²¼¤âɽ¼¨ †
- ¥ª¥×¥·¥ç¥ó¤Ê¤·¤Îgit status¤Ï¡¢git´ÉÍý³°¤Î¥Ç¥£¥ì¥¯¥È¥ê¤ÎÇÛ²¼¤Ïɽ¼¨¤µ¤ì¤Ê¤¤
$ git status
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/
nothing added to commit but untracked files present (use "git add" to track)
- -u ¥ª¥×¥·¥ç¥ó¤Ç´ÉÍý³°¥Ç¥£¥ì¥¯¥È¥ê°Ê²¼¤Î¥Õ¥¡¥¤¥ë¤âɽ¼¨²Äǽ
$ git status -uall # all¤Ï¥Ç¥Õ¥©¥ë¥È¤Ê¤Î¤Ç¤Ê¤¯¤Æ¤â¤è¤¤
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
dir/dir2/huga.txt
dir/hoge.txt
´Ê°×ÈÇɽ¼¨ †
- -s¤Ç´Ê°×ɽ¼¨
- ¥¹¥Æ¡¼¥¿¥¹É½¼¨¤Ï¡¢¹ÔƬ¤«¤é[ XY ]¤ÎÆóʸ»ú¤Çɽ¼¨¤µ¤ì¤ë
¥Õ¥¡¥¤¥ë¤òÆÃÄê¤Î¥ê¥Ó¥¸¥ç¥ó¤ËÌ᤹ †
git checkout <¥³¥ß¥Ã¥ÈID> <¥Õ¥¡¥¤¥ë>
¥ê¥â¡¼¥È¤«¤éÆÃÄê¤Î¥Ö¥é¥ó¥Á¤ò»ØÄꤷ¤Æclone †
git clone -b <¥Ö¥é¥ó¥Á̾> <URL>
º¹Ê¬¥Õ¥¡¥¤¥ë¤ò¥¢¡¼¥«¥¤¥Ö(svn export + zip) †
¥í¥°´ØÏ¢ †
¥È¥Ô¥Ã¥¯¥Ö¥é¥ó¥Á¤Î¥í¥°¤Î¤ßɽ¼¨ †
¥í¥°¤Ë¥Õ¥¡¥¤¥ë̾¤òɽ¼¨¤¹¤ë †
¥ê¥â¡¼¥È¥ê¥Ý¥¸¥È¥ê¤Îºï½ü †
git add»þ¤Î²þ¹Ô¥³¡¼¥ÉÊÑ´¹¤ÎWARN¤òÍÞ»ß †
¥ê¥Ý¥¸¥È¥êÇÛ²¼¤Î¥Õ¥¡¥¤¥ë¤òÊÔ½¸¸å¡¢git add¤ò¥¹¥¥Ã¥×¤·¤Æ¥³¥ß¥Ã¥È †
git¤Ç¤Îsvn revert †
SVN¥³¥Þ¥ó¥É¤È¤ÎÂбþ †
¥ê¥Ý¥¸¥È¥ê¤òHTTP¤ÇÁàºî(clone pushÅù)¤Ç¤¤ë¤è¤¦ÀßÄê †
- Smart HTTP¤òÍøÍѤ¹¤ë¤È´Êñ¤Ë¹½ÃۤǤ¤ë¤È¤Î¤³¤È
- ÀßÄê¤Î»²¹Í
Smart HTTP¤È¤Ï¡© †
- HTTP¤Î¥×¥í¥È¥³¥ë¤òÍøÍѤ·¤Ê¤¬¤é¡¢ssh¤ä¡¢git¤Î¤è¤¦¤Ë¸úΨ¤Î¤è¤¤Å¾Á÷¤ò¼Â¸½¤¹¤ë¤â¤Î¡Ê¤Ã¤Ý¤¤¡Ë¡£git¥¤¥ó¥¹¥È¡¼¥ë»þ¤Ë³ÊǼ¤µ¤ì¤Æ¤¤¤ëCGI¥¹¥¯¥ê¥×¥È¤¬¥¨¥ó¥¸¥ó¤òô¤Ã¤Æ¤½¤¦¡£
¥Ù¥¢¥ê¥Ý¥¸¥È¥êºîÀ® †
shishimaru@v-cent65% sudo mkdir -p /home/git
shishimaru@v-cent65% cd /home/git
shishimaru@v-cent65% sudo git init --bare --shared myproject.git
ApacheÀßÄê †
- GIT_PROJECT_ROOT
- ¥ê¥â¡¼¥È¥ê¥Ý¥¸¥È¥ê¤Î¿Æ¥Ç¥£¥ì¥¯¥È¥ê¥Ñ¥¹¤ò»ØÄê¡£
- /usr/local/git/test.git¡¡¤¬¥ê¥Ý¥¸¥È¥ê¤Î¥Ñ¥¹¤À¤Ã¤¿¤é¡¡/usr/local/git ¡¡¤Èµ½Ò
- GIT_HTTP_EXPORT_ALL
- ÀßÄꤷ¤Ê¤¤¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î¥¢¥¯¥»¥¹¤ÏÆɤ߹þ¤ßÀìÍѤˤʤꡢÆɤ߹þ¤á¤ë¤Î¤Ï git-daemon-export-ok ¥Õ¥¡¥¤¥ë¤¬Êݸ¤µ¤ì¤¿¥ê¥Ý¥¸¥È¥ê¤À¤±¤Ë¤Ê¤ë
- ScriptAlias?
git clone»þ¤ÎÃí°Õ †
- git¤Î¥Ð¡¼¥¸¥ç¥ó¤¬1.7.10°Ê¾å¤Ç¤Ê¤¤¤È¡¢git clone¤ÎURL¤Ë¥æ¡¼¥¶Ì¾¤È¥Ñ¥¹¥ï¡¼¥É¤òÆþ¤ì¤Ê¤¤¤È¥¨¥é¡¼¤Ë¤Ê¤ë
nginxÈÇ †
Web¥Ö¥é¥¦¥¶¤«¤é±ÜÍ÷¤¹¤ëÀßÄê †
GitWeb? †
GitWeb?³µÍ× †
- Subversion¤Î¤è¤¦¤Ë¡¢Web¥Ö¥é¥¦¥¶¤«¤é¥ê¥Ý¥¸¥È¥ê¤ò±ÜÍ÷¤Ç¤¤ë
- ¥Õ¥¡¥¤¥ë¤Î¹½À®¡¦Ãæ¿È¤À¤±¤Ç¤Ê¤¯¡¢¥í¥°¤â¸«¤ì¤ë
¹½ÃÛ †
- ËÜÂÎ¥¤¥ó¥¹¥È¡¼¥ë
shishimaru@v-cent65% sudo yum install -y gitweb
- ËÜÍè¡¢°Ê²¼¤Î¤è¤¦¤ÊÀßÄê¤Ç¡¢/etc/httpd/conf.d/git.conf¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë¤¬
Alias /git /var/www/git
<Directory /var/www/git>
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
- ¤¹¤Ç¤Ë¼«Á°¤Çgit.conf¤òºîÀ®¤·¤Æ¤¤¤¿¤Î¤Ç¡¢git.conf.rpmnew¤È¤¤¤¦¥Õ¥¡¥¤¥ë̾¤Ç¾åµ¤¬ºîÀ®¤µ¤ì¤Æ¤¤¤¿¡£
- ¤Þ¤¿¡¢¾åµAlias¤Î¡Ö/git¡×¤Ï¤¹¤Ç¤ËHTTP¤ÇÍøÍѤ¹¤ëÀßÄê¤Ç»ÈÍѤ·¤Æ¤¤¤¿¤Î¤Ç¡¢git.conf.rpmnew¤Ï¤¹¤Ù¤Æ¥³¥á¥ó¥È¥¢¥¦¥È¤·¤Æ¡¢°Ê²¼¤Î¤è¤¦¤Ë¼«Á°git.conf¤ËÀßÄê¤òÄɲä·¤¿¡£
#------------------------------------
# HTTP¥¢¥¯¥»¥¹ÍѤÎÀßÄê¡Ê¸µ¡¹¤Î¼«Á°ÀßÄê)
#------------------------------------
SetEnv GIT_PROJECT_ROOT /home/git
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git /usr/libexec/git-core/git-http-backend
<locationMatch "/git">
AuthType Basic
AuthName "Git Area"
AuthUserFile /home/git/.htpasswd
require valid-user
Order allow,deny
Allow from all
</locationMatch>
#------------------------------------
# ¤³¤³¤«¤égitwebÍѤÎÀßÄê (ÄɲÃʬ)
#------------------------------------
# ¢ Alias̾¤ò¤«¤Ö¤é¤Ê¤¤¤è¤¦¤Ëgitweb¤ËÊѹ¹
Alias /gitweb /var/www/git
<Directory /var/www/git>
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>
- °Ê¾å¤Ç¡¢http://<¥µ¡¼¥Ð>/gitweb¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤È¸«¤ì¤ë¤Ï¤º
Windows¥¯¥é¥¤¥¢¥ó¥È´Ä¶¥»¥Ã¥È¥¢¥Ã¥× †
Git for Windows (msysGit) †
- ÀΤÏmsysGit¤È¸Æ¤Ð¤ì¤Æ¤¤¤¿¡£Git Bash¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤ë
- Admin¸¢¸Â¤Ê¤·¤Ç¥¤¥ó¥¹¥È¡¼¥ë²Äǽ¡£
- TortoiseGit?¤òÍøÍѤ¹¤ëÁ°Ä󥽥եȤǤ⤢¤ë¡£
TortoiseGit? †
- TortoiseSVN¤ÎgitÈÇ¡£
- Í×Admin¸¢¸Â
¥ê¥â¡¼¥È¥ê¥Ý¥¸¥È¥ê¤Î¥Ö¥é¥ó¥Á¤ò¥í¡¼¥«¥ë¥ê¥Ý¥¸¥È¥ê¤Ë¼èÆÀ †
- master¥Ö¥é¥ó¥Á¤Çpull (¥ê¥â¡¼¥È¤Î¥Ö¥é¥ó¥Á¾ðÊó¤Î¼èÆÀ)
- ±¦¥¯¥ê¥Ã¥¯ ¢ª TortoiseGit? ¢ª Swich/Checkout¤ÇÀÚ¤êÂؤ¨²Äǽ
²þ¹Ô¥³¡¼¥ÉÊÑ´¹Ìµ¸ú †
push»þ¤Î¥æ¡¼¥¶Ì¾¡¦¥Ñ¥¹¥ï¡¼¥É¤Î¾Êά †
HTTP(S)¤Î¾ì¹ç †
µÕ°ú¤ †
GitLab? †
SVN¤«¤éGit¤Ø¤Î°Ü¹Ô †
PKG¥¤¥ó¥¹¥È¡¼¥ë †
°Ü¹Ô¼ê½ç³µÍ× †
- git svn clone¤ÇSVN¤«¤égit¥ê¥Ý¥¸¥È¥êºîÀ®
git svn clone -s --no-follow-parent --prefix=svn/ <SVN-URL>
- SVN¤Î¥Ö¥é¥ó¥ÁÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬git¤Î¥ê¥â¡¼¥È¥Ö¥é¥ó¥Á¤È¤·¤ÆºîÀ®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¥í¡¼¥«¥ë¤ËºîÀ®
- SVN¤ÎtagÇÛ²¼¤Î¥Ç¥£¥ì¥¯¥È¥ê¤¬¡¢git¤Î¥ê¥â¡¼¥È¥Ö¥é¥ó¥Á¤Ë¡¢tags/<¥Ç¥£¥ì¥¯¥È¥ê̾>¤ÇºîÀ®¤µ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¤³¤ì¤ògit¤Î¥¿¥°ÉÕ¤±¤¹¤ë
- ¥Ù¥¢¥Ý¥¸¥È¥ê¤ËÈ¿±Ç
RPM †
- ²¼µ¡¢Oracle Linux¤À¤¬¡¢RHEL6.3Âбþ¤ÎPKG¤¢¤ê
ºÇ¿·¤Î20·ï
2023-01-26
2022-11-11
2022-03-02
2022-02-03
2021-11-18
2021-11-11
2021-10-27
2021-10-04
2021-09-30
2021-08-24
2021-04-01
2021-02-25
2020-08-13
2020-05-22
2020-04-16
2020-04-15
2020-03-23
2020-03-12
2020-02-27
º£Æü¤Î15·ï
- counter: 914
- today: 1
- yesterday: 1
- online: 1