±à¼ÍƼö: |
±¾ÎÄÀ´×Ômamicode£¬Ö÷Ҫд¸øÊ¹ÓÃÃüÁîÐÐÀ´²Ù×÷GitµÄÓû§£¬ÓÃÓÚÌá¸ßGitʹÓõÄЧÂÊ¡£ |
|
ǰÑÔ
±¾ÎÄÖ÷Ҫд¸øÊ¹ÓÃÃüÁîÐÐÀ´²Ù×÷GitµÄÓû§£¬ÓÃÓÚÌá¸ßGitʹÓõÄЧÂÊ¡£ÖÁÓÚʹÓÃÃüÁÊÇGUI£¨Tortoise
Git»òVSµÄGit²å¼þ£©¾Í²»ÔÚ´ËÌÖÂÛÁË£¬´ó¼Ò¸ù¾Ý×Ô¼ºµÄµÄϲºÃÑ¡Ôñ¾ÍºÃ¡£ÎÒ¸öÈËÊDZȽÏÍÆ¼öʹÓÃÃüÁîÐеģ¬ÒòΪÃüÁîÐÐÊÇÔÉúµÄ¿Í»§¶Ë£¬µ±ÊìϤÁËÃüÁîÐÐÒÔºó£¬Ê¹ÓÃЧÂʲ¢²»»á±ÈGUIµÍ¡£¶øÇÒÎÒÊÇ´ÓGUI£¨Tortoise
SVN£©×ªÃüÁîÐеģ¬¸Õ¿ªÊ¼µÄʱºòÒ²ÊÇͲÛÃüÁîÐеġ°·ÇÈËÐÔ»¯¡±£¬µ«ÎÒ×ß³öÁËÊæÊÊÇø£¬ÕæÕýʹÓÃÆðÃüÁîÐкó£¬ÎҲŷ¢ÏÖÁË×Ô¼ºÖ®Ç°µÄÏë·¨ÊÇ·ôdzµÄ¡£
Ö¸Áî±ðÃû
Ö¸Áî±ðÃû¾ÍÊǸøÒ»Ð©³£ÓõÄÖ¸ÁîÉèÖÃÒ»¸ö½Ï¶ÌµÄÖ¸Áî±ðÃûÀ´Ìá¸ßGitµÄʹÓÃЧÂÊ¡£
Èçgit st(git status)£º

ʹÓÃÖ¸Áî±ðÃû£¬²¢²»»á°ÑÔÖ¸Á¸Çµô£¬¶øÊÇͬʱÉúЧ£º

Ö¸Áî±ðÃûÊä´íµÄʱºò£¬Ò²»áÓÐÌáʾ£º

ÎÒÔÚÕâÀï»á·ÖÏíÎÒÉèÖõÄÖ¸Áî±ðÃû£¬Ï£ÍûÄܰïÖúÌá¸ßʹÓÃЧÂÊ¡£
1. ²é¿´×´Ì¬(Show the working tree status) - git status
git st

2. Ìá½»(Record changes to the repository) - git commit
git ci

3. ·ÖÖ§²Ù×÷(List, create, or delete branches) - git
branch
git br

4. Ç©³ö(Switch branches or restore working tree files)
- git checkout
git co
Ç©³ö·ÖÖ§:

Ç©³ö£¨»¹Ô£©¹¤×÷ÇøÎļþ£º

Ç©³ö£¨»¹Ô£©¹¤×÷ÇøËùÓÐÎļþ£º

5.²îÒì(Show changes between commits, commit and working
tree, etc) - git diff
¹¤×÷Çø£¨working driectory£©ÓëÔÝ´æÇø£¨staging area£©µÄ²îÒ죺
git df
µ¥¸öÎļþ²îÒ죺

ËùÓÐÎļþ²îÒ죺

ÔÝ´æÇø£¨staging area£©Óë±¾µØ²Ö¿â£¨repository£©µÄ²îÒ죺
git dfs
µ¥¸öÎļþ²îÒ죺

¶à¸öÎļþ²îÒ죺

6.ºÏ²¢(Join two or more development histories together)
- git merge
git mr

7.ÈÕÖ¾(Show commit logs) - git log
²é¿´×î½üÒ»ÌõÈÕÖ¾£º
git last

²é¿´ÈÕÖ¾¼°·ÖÖ§Ìá½»ÐÅÏ¢£º
git ls

ÆäÖÐÂÌÉ«µÄ±íʾlocal·ÖÖ§£¬ºìÉ«µÄµÄ±íʾhost·ÖÖ§£¬´ÓÉÏͼ¿ÉÒÔ¿´³ö£¬localµÄmaster·ÖÖ§¡¢hostµÄmaster·ÖÖ§¡¢hostµÄdev·ÖÖ§¶¼´¦ÓÚͬһ¸öÌá½»£¬localµÄdev·ÖÖ§ÁìÏÈÓÚÇ°ÃæÌáµ½µÄ3¸ö·ÖÖ§¡£µ±°æ±¾ÏÔʾ²»È«Ìύʱ£¬¿ÉÒÔ°´»Ø³µ£¨»Ø³µ£©¼ÌÐø¼ÓÔØÌá½»£¬ÐèÒªÍ˳öÊÇ£¬°´×Öĸq¡£ÁíÍ⣬Äã¿ÉÒÔ¼Ó¡°-n¡±Ö¸¶¨²é¿´Ç°nÌõ¼Ç¼£º

²é¿´ÈÕÖ¾¡¢·ÖÖ§Ìá½»ÐÅÏ¢¡¢Ìá½»ÈË¡¢Ìύʱ¼ä£º
git lg

µ±°æ±¾ÏÔʾ²»È«Ìύʱ£¬¿ÉÒÔ°´»Ø³µ£¨»Ø³µ£©¼ÌÐø¼ÓÔØÌá½»£¬ÐèÒªÍ˳öÊÇ£¬°´×Öĸq¡£ÁíÍ⣬Äã¿ÉÒÔ¼Ó¡°-n¡±Ö¸¶¨²é¿´Ç°nÌõ¼Ç¼£º

8.񄯗(Reapply commits on top of another base tip)
- git rebase
git rb

ÎÒÀí½âµÄrebaseºÍmerge¹¦ÄÜÉϱȽÏÀàËÆ£¬Ö»ÊÇrebase²Ù×÷ºó£¬Ìá½»»ù±¾¶¼»áÔÚÒ»ÌõÏßÉÏ£¬¶ømerge»á´ÓÒ»ÌõÏߺϵ½µ½ÁíÍâÒ»ÌõÏß¡£
Merge£º

Rebase£º

9.¼ðÑ¡(Apply the changes introduced by some existing
commits) - git cherry-pick¡¡
git cb

´ÓͼÖп´¿´³ö£¬cherry-pickÊǰÑij¸öÌá½»¸´ÖƹýÀ´×÷Ϊһ¸öеÄÌá½»£¬ºÍmerge»òÕßrebaseµÄЧ¹û²»Í¬£¬check
pickºó¿ÉÒÔ½øÐÐmerge»òrebase²Ù×÷£º

ʹÓÃBeyond Compare×÷Ϊ²îÒì±È½Ï¹¤¾ß
ÃüÁîÐÐ×Ô´øµÄÎļþ²îÒì±È½Ï¹¤¾ß¹¦ÄܱȽϼòµ¥£¬ÓÃÀ´²é¿´»ò¶Ô±ÈÎļþ²îÒìʱ£¬¿ÉÄÜЧ¹û²»Ì«ºÃ£¬ÌرðÊÇÔÚ½â¾ö³åÍ»µÄʱºò£¬µ«ÊÇÎÒÃÇ¿ÉÒÔ¼¯³ÉһЩ±È½ÏÇ¿´óµÄ²îÒì±È½Ï¹¤¾ß£¬±ÈÈç±¾ÎÄÌáµ½µÄBeyond
Compare¡£ÄÇô£¬ÎÒÃÇÏÈ¿´Ò»ÏÂÀý×Ó£º
×Ô´øµÄ²îÒì±È½ÏЧ¹û£º

ʹÓÃdifftoolÖ¸Áîµ÷ÓÃBeyond CompareµÄ±È½ÏЧ¹û£º


µ±È»difftoolÒ²¿ÉÒÔʹÓÃÖ¸Áî±ðÃû£º

½â¾öºÏ²¢³åÍ»£º
ÎÒÃÇÔÚdevµÄa.txtÎļþÖÐÌí¼Ó¡°dev¡±ÄÚÈÝ£¬ÔÚmaster·ÖÖ§ÉÏÌí¼Ó¡°master¡±ÄÚÈÝ£¬È»ºóÓÃmaster·ÖÖ§ºÏ²¢dev¡£

ʹÓÃmergetoolÖ¸Áîµ÷ÓÃBeyond CompareºÏ²¢³åÍ»£º


ÓÉÉÏͼ¿ÉÒÔ¿´³ö£¬×ó±ßÊǵ±Ç°·ÖÖ§µÄ°æ±¾£¬ÓұߵÄÊÇÐèÒªºÏ²¢µÄ·ÖÖ§µÄ°æ±¾£¬ÖмäµÄÊÇÏàͬ²¿·ÖµÄ°æ±¾£¬´¦Àí³åÍ»µÄ²ßÂÔ´ó¸ÅÓÐÒÔϼ¸ÖÖ£º
#1 µ±Ç°·ÖÖ§°æ±¾Ìæ»»ºÏ²¢·ÖÖ§°æ±¾£¬µã»÷ÂÌÉ«µÄ¼ýÍ·¡£
#2 ºÏ²¢·ÖÖ§°æ±¾Ìæ»»µ±Ç°·ÖÖ§°æ±¾£¬µã»÷·ÛÉ«µÄ¼ýÍ·¡£
#3 ͬʱÐèÒªÁ½¸ö°æ±¾µÄÄÚÈÝ£¬µã»÷ÂÌÉ«»ò·ÛÉ«µÄ¼ýÍ·£¬È»ºó°ÑÁíÍâµÄ·ÖÖ§µÄÄÚÈÝ¿½±´µ½Ï·½µÄÎı¾±à¼¿ò¡£
#4 Ö»ÒªÏàͬ²¿·ÖµÄÄÚÈÝ£¬Ê²Ã´¶¼²»¸É¡£
#5 ÆäËû¡£
×îºó£¬µã»÷ºìÉ«µÄ¸Ð̾ºÅ£¬±íʾÒѽâ¾ö³åÍ»¡£ÎÒÕâÀïÑ¡Ôñ#3µÄ²ßÂÔ£º

¹Ø±ÕBeyond Compare£¬Íê³ÉºÏ²¢²Ù×÷¡£

ÈçºÎÅäÖÃ
.gitconfigÊÇÅäÖõÄÖ÷ÒªÎļþ£¬ËüÒ»°ãÔÚC:\Users\{Óû§Ãû}Ŀ¼ÖУ¬Èç¹ûûÓУ¬¿ÉÒÔͨ¹ýÒÔÏÂÁ½²½´´½¨£º
#1 ´ò¿ªÃüÁîÐй¤¾ß

#2 Ö´ÐÐÉèÖÃÓû§Ãû»òÕßÉèÖÃÓÊÏäµÄÖ¸Áî¡£
ÉèÖÃÓû§Ãû£º
git config --global user.name "£ûyour username£ý"
ÉèÖÃÓÊÏ䣺
git config --global user.email "£ûyour email£ý"
´ò¿ª.gitconfigÎļþ£¬°ÑÒÔÏÂÄÚÈÝ¿½±´µ½ÎļþÖУ¬Íê³ÉÖ¸Áî±ðÃûµÄÅäÖãº
[alias]
st = status
ci = commit
co = checkout
br = branch
df = diff
dft = difftool
dfs = diff --staged
dfts = difftool --staged
mr = merge
mrt = mergetool
last = log -1 HEAD
ls = log --oneline --graph --all
--decorate
g = log --oneline --graph --all --decorate
--pretty= format :"%h%x20% Cgreen%d% x20% Cred%
an%x20% C(yellow)% ad%x20% Creset%s" --full-history
--date = short
rb = rebase -i
cp = cherry-pick
´ò¿ª.gitconfigÎļþ£¬°ÑÒÔÏÂÄÚÈÝ¿½±´µ½ÎļþÖУ¬Íê³ÉBeyond CompareµÄÅäÖãº
[diff]
tool = bc4
[difftool]
prompt = true
[difftool "bc4"]
cmd = \"D: /Program Files /Beyond
Compare 4 /bcomp.exe\" "$ (cygpath -w $LOCAL)"
"$ REMOTE "
[merge]
tool = bc4
[mergetool]
prompt = true
[mergetool "bc4"]
#trustExitCode = true
cmd = \"D:/Program Files /Beyond
Compare 4 /bcomp.exe \" "$LOCAL" "$REMOTE"
"$BASE" "$ MERGED "
×îÖÕЧ¹ûÈçͼËùʾ£º

×îºó
Ï£ÍûÒÔÉÏ·ÖÏíµÄС¼¼ÇÉ¿ÉÒÔÌá¸ß´ó¼ÒµÄЧÂÊ£¬´ó¼ÒÒ²¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèҪȥÉèÖÃÖ¸Áî±ðÃû£¬»¶Ó´ó¼ÒÌÖÂÛ¼°·ÖÏíÖ¸Áî±ðÃûµÄʹÓÃÐĵᣠ|