ÀÖÓãµç¾º

  • ½ÌÓýÐÐÒµA¹ÉIPOµÚÒ»¹É£¨¹ÉƱ´úÂë 003032£©

    È«¹ú×Éѯ/ͶËßÈÈÏߣº400-618-4000

    Git»ù´¡£ºÎļþµÄÔö²éɾ¸Ä²Ù×÷¡¾Ê¹Óý̡̳¿

    ¸üÐÂʱ¼ä:2022Äê09ÔÂ08ÈÕ13ʱ41·Ö À´Ô´:ÀÖÓãµç¾º ä¯ÀÀ´ÎÊý:

    1.»ñÈ¡ Git ²Ö¿âµÄÁ½ÖÖ·½Ê½

    ½«ÉÐδ½øÐа汾¿ØÖƵı¾µØÄ¿Â¼×ª»»ÎªGit²Ö¿â£¬´ÓÆäËü·þÎñÆ÷¿Ë¡һ¸öÒÑ´æÔÚµÄGit²Ö¿â£¬ÕâÁ½ÖÖ·½Ê½¶¼Äܹ»ÔÚ×Ô¼ºµÄµçÄÔÉϵõ½Ò»¸ö¿ÉÓõÄGit²Ö¿â¡£

    2.ÔÚÏÖÓÐĿ¼Öгõʼ»¯²Ö¿â

    Èç¹û×Ô¼ºÓÐÒ»¸öÉÐδ½øÐа汾¿ØÖƵÄÏîĿĿ¼£¬ÏëÒªÓà Git À´¿ØÖÆËü£¬ÐèÒªÖ´ÐÐÈçÏÂÁ½¸ö²½Ö裺

    ¢Ù ÔÚÏîĿĿ¼ÖУ¬Í¨¹ýÊó±êÓÒ¼ü´ò¿ª“Git Bash”

    ¢Ú Ö´ÐÐ git init ÃüÁµ±Ç°µÄĿ¼ת»¯Îª Git ²Ö¿â

    git init ÃüÁî»á´´½¨Ò»¸öÃûΪ .git µÄÒþ²ØÄ¿Â¼£¬Õâ¸ö .git Ŀ¼¾ÍÊǵ±Ç°ÏîÄ¿µÄ Git ²Ö¿â£¬ÀïÃæ°üº¬Á˳õʼµÄ±ØÒªÎļþ£¬ÕâЩÎļþÊÇ Git ²Ö¿âµÄ±ØÒª×é³É²¿·Ö¡£

    3.¹¤×÷ÇøÖÐÎļþµÄ4ÖÖ״̬

    ¹¤×÷ÇøÖеÄÿһ¸öÎļþ¿ÉÄÜÓÐ 4 ÖÖ״̬£¬ÕâËÄÖÖ״̬¹²·ÖΪÁ½´óÀ࣬ÈçͼËùʾ£º

    git¹¤×÷ÇøµÄ4ÖÐ״̬

    Git ²Ù×÷µÄÖÕ¼«½á¹û£ºÈù¤×÷ÇøÖеÄÎļþ¶¼´¦ÓړδÐ޸ĔµÄ״̬¡£

    4.¼ì²éÎļþµÄ״̬

    ¿ÉÒÔʹÓà git status ÃüÁî²é¿´Îļþ´¦ÓÚʲô״̬£¬ÀýÈ磺
    Git status¼ì²éÎļþ״̬

    ÔÚ״̬±¨¸æÖпÉÒÔ¿´µ½Ð½¨µÄ index.html Îļþ³öÏÖÔÚ Untracked files(δ¸ú×ÙµÄÎļþ) ÏÂÃæ¡£Î´¸ú×ÙµÄÎļþÒâζ×Å Git ÔÚ֮ǰµÄ¿ìÕÕ(Ìá½»)ÖÐûÓÐÕâЩÎļþ;Git ²»»á×Ô¶¯½«Ö®ÄÉÈë¸ú×Ù·¶Î§£¬³ý·ÇÃ÷È·µØ¸æËßËü“ÎÒÐèҪʹÓà Git ¸ú×Ù¹ÜÀí¸ÃÎļþ”¡£

    5.ÒÔ¾«¼òµÄ·½Ê½ÏÔʾÎļþ״̬

    ʹÓà git status Êä³öµÄ״̬±¨¸æºÜÏêϸ£¬µ«ÓÐЩ·±Ëö¡£Èç¹ûÏ£ÍûÒÔ¾«¼òµÄ·½Ê½ÏÔʾÎļþµÄ״̬£¬¿ÉÒÔʹÓÃÈçÏÂÁ½ÌõÍêÈ«µÈ¼ÛµÄÃüÁÆäÖÐ -s ÊÇ --short µÄ¼òдÐÎʽ£º

      #ÒÔ¾«¼òµÄ·½Ê½ÏÔʾÎļþ״̬
      git status -s
      git status --short

    δ¸ú×ÙÎļþÇ°ÃæÓкìÉ«µÄ ?? ±ê¼Ç£¬ÀýÈç
    ¸ú×ÙÎļþ²¢±ê¼Ç

    6.¸ú×ÙÐÂÎļþ

    ʹÓÃÃüÁî git add ¿ªÊ¼¸ú×ÙÒ»¸öÎļþ¡£ ËùÒÔ£¬Òª¸ú×Ù index.html Îļþ£¬ÔËÐÐÈçϵÄÃüÁî¼´¿É£º

     git add index.html

    ´ËʱÔÙÔËÐÐ git status ÃüÁ»á¿´µ½ index.html ÎļþÔÚ Changes to be committed ÕâÐеÄÏÂÃæ£¬ËµÃ÷Òѱ»¸ú×Ù£¬²¢´¦ÓÚÔÝ´æ×´Ì¬£º

    Ò²¿ÉÒÔÒÔ¾«¼òµÄ·½Ê½ÏÔʾÎļþµÄ״̬ÐÂÌí¼Óµ½ÔÝ´æÇøÖеÄÎļþÇ°ÃæÓÐÂÌÉ«µÄ A ±ê¼Ç

    7.Ìá½»¸üÐÂ

    ÏÖÔÚÔÝ´æÇøÖÐÓÐÒ»¸ö index.html ÎļþµÈ´ý±»Ìá½»µ½ Git ²Ö¿âÖнøÐб£´æ¡£¿ÉÒÔÖ´ÐÐ git commit ÃüÁî½øÐÐÌá½»,ÆäÖÐ -m Ñ¡ÏîºóÃæÊDZ¾´ÎµÄÌá½»ÏûÏ¢£¬ÓÃÀ´¶ÔÌá½»µÄÄÚÈÝ×ö½øÒ»²½µÄÃèÊö£º

     git commit-m"н¨ÁËindex.htmlÎļþ"

    Ìá½»³É¹¦Ö®ºó£¬»áÏÔʾÈçϵÄÐÅÏ¢£º

    Ìá½»³É¹¦Ö®ºó£¬Ôٴμì²éÎļþµÄ״̬£¬µÃµ½ÌáʾÈçÏ£º
    Ìá½»³É¹¦Ìáʾ

    Ö¤Ã÷¹¤×÷ÇøÖÐËùÓеÄÎļþ¶¼´¦ÓړδÐ޸ĔµÄ״̬£¬Ã»ÓÐÈκÎÎļþÐèÒª±»Ìá½»¡£

    Ìá½»

    8. ¶ÔÒÑÌá½»µÄÎļþ½øÐÐÐÞ¸Ä

    Ŀǰ£¬index.html ÎļþÒѾ­±» Git ¸ú×Ù£¬²¢ÇÒ¹¤×÷ÇøºÍ Git ²Ö¿âÖÐµÄ index.html ÎļþÄÚÈݱ£³ÖÒ»Ö¡£µ±ÎÒÃÇ ÐÞ¸ÄÁ˹¤×÷ÇøÖÐ index.html µÄÄÚÈÝÖ®ºó£¬ÔÙ´ÎÔËÐÐ git status ºÍ git status -s ÃüÁ»á¿´µ½ÈçϵÄÄÚÈÝ£º

    Îļþ index.html ³öÏÖÔÚ Changes not staged for commit ÕâÐÐÏÂÃæ£¬ËµÃ÷ÒѸú×ÙÎļþµÄÄÚÈÝ·¢ÉúÁ˱仯£¬µ«»¹Ã»Óзŵ½ÔÝ´æÇø¡£

    ×¢Ò⣺Ð޸ĹýµÄ¡¢Ã»ÓзÅÈëÔÝ´æÇøµÄÎļþÇ°ÃæÓкìÉ«µÄ M ±ê¼Ç¡£

    9.ÔÝ´æÒÑÐ޸ĵÄÎļþ

    Ŀǰ£¬¹¤×÷ÇøÖÐµÄ index.html ÎļþÒѱ»Ð޸ģ¬Èç¹ûÒªÔÝ´æÕâ´ÎÐ޸ģ¬ÐèÒªÔÙ´ÎÔËÐÐ git add ÃüÁÕâ¸öÃüÁî ÊǸö¶à¹¦ÄܵÄÃüÁÖ÷ÒªÓÐÈçÏ 3 ¸ö¹¦Ð§£º

    ¢Ù ¿ÉÒÔÓÃËü¿ªÊ¼¸ú×ÙÐÂÎļþ

    ¢Ú °ÑÒѸú×ٵġ¢ÇÒÒÑÐ޸ĵÄÎļþ·Åµ½ÔÝ´æÇø

    ¢Û °ÑÓгåÍ»µÄÎļþ±ê¼ÇΪÒѽâ¾ö״̬

    10.Ìá½»ÒÑÔÝ´æµÄÎļþ

    ÔÙ´ÎÔËÐÐ git commit -m "Ìá½»ÏûÏ¢" ÃüÁ¼´¿É½«ÔÝ´æÇøÖмǼµÄ index.html µÄ¿ìÕÕ£¬Ìá½»µ½ Git ²Ö¿âÖнøÐб£´æ£º

    11.³·Ïú¶ÔÎļþµÄÐÞ¸Ä

    ³·Ïú¶ÔÎļþµÄÐÞ¸ÄÖ¸µÄÊÇ£º°Ñ¶Ô¹¤×÷ÇøÖжÔÓ¦ÎļþµÄÐ޸쬻¹Ô­³É Git ²Ö¿âÖÐËù±£´æµÄ°æ±¾¡£²Ù×÷µÄ½á¹û£ºËùÓеÄÐ޸Ļᶪʧ£¬ÇÒÎÞ·¨»Ö¸´!ΣÏÕÐԱȽϸߣ¬ÇëÉ÷ÖØ²Ù×÷!

    ³·Ïú²Ù×÷µÄ±¾ÖÊ£ºÓà Git ²Ö¿âÖб£´æµÄÎļþ£¬¸²¸Ç¹¤×÷ÇøÖÐÖ¸¶¨µÄÎļþ¡£

    12.ÏòÔÝ´æÇøÖÐÒ»´ÎÐÔÌí¼Ó¶à¸öÎļþ

    Èç¹ûÐèÒª±»ÔÝ´æµÄÎļþ¸öÊý±È½Ï¶à£¬¿ÉÒÔʹÓÃÈçϵÄÃüÁһ´ÎÐÔ½«ËùÓеÄÐÂÔöºÍÐ޸ĹýµÄÎļþ¼ÓÈëÔÝ´æÇø£º

    git add

    ½ñºóÔÚÏîÄ¿¿ª·¢ÖУ¬»á¾­³£Ê¹ÓÃÕâ¸öÃüÁ½«ÐÂÔöºÍÐ޸ĹýºóµÄÎļþ¼ÓÈëÔÝ´æÇø¡£

    13.È¡ÏûÔÝ´æµÄÎļþ

    Èç¹ûÐèÒª´ÓÔÝ´æÇøÖÐÒÆ³ý¶ÔÓ¦µÄÎļþ£¬¿ÉÒÔʹÓÃÈçϵÄÃüÁ

    git reset HEAD ÒªÒÆ³ýµÄÎļþÃû³Æ

    14.Ìø¹ýʹÓÃÔÝ´æÇøÓò

    Git ±ê×¼µÄ¹¤×÷Á÷³ÌÊǹ¤×÷Çø → ÔÝ´æÇø → Git ²Ö¿â£¬µ«ÓÐʱºòÕâô×öÂÔÏÔ·±Ëö£¬´Ëʱ¿ÉÒÔÌø¹ýÔÝ´æÇø£¬Ö±½Ó½«¹¤×÷ÇøÖеÄÐÞ¸ÄÌá½»µ½ Git ²Ö¿â£¬Õâʱºò Git ¹¤×÷µÄÁ÷³Ì¼ò»¯ÎªÁ˹¤×÷Çø → Git ²Ö¿â¡£

    Git ÌṩÁËÒ»¸öÌø¹ýʹÓÃÔÝ´æÇøÓòµÄ·½Ê½£¬ Ö»ÒªÔÚÌá½»µÄʱºò£¬¸ø git commit ¼ÓÉÏ -a Ñ¡ÏGit ¾Í»á×Ô¶¯°ÑËùÓÐÒѾ­¸ú×Ù¹ýµÄÎļþÔÝ´æÆðÀ´Ò»²¢Ìá½»£¬´Ó¶øÌø¹ý git add ²½Ö裺

    git commit -a -m“ÃèÊöÏûÏ¢"

    15.ÒÆ³ýÎļþ

    ´ÓGit ²Ö¿âÖÐÒÆ³ýÎļþµÄ·½Ê½ÓÐÁ½ÖÖ£¬´Ó Git ²Ö¿âºÍ¹¤×÷ÇøÖÐÍ¬Ê±ÒÆ³ý¶ÔÓ¦µÄÎļþºÍÖ»´ÓGit²Ö¿âÖÐÒÆ³ýÖ¸¶¨µÄÎļþ£¬µ«±£Áô¹¤×÷ÇøÖжÔÓ¦µÄÎļþ¡£

    #´Ó Git²Ö¿âºÍ¹¤×÷ÇøÖÐÍ¬Ê±ÒÆ³ýindex.js Îļþ
    git rm -f index.js
    #A´ÓGit²Ö¿âÖÐÒÆ³ý index.css,µ«±£Áô¹¤×÷ÇøÖеÄindex.cssÎļþ
    git rm --cached index.css

    16.ºöÂÔÎļþ

    Ò»°ãÎÒÃÇ×Ü»áÓÐЩÎļþÎÞÐèÄÉÈë Git µÄ¹ÜÀí£¬Ò²²»Ï£ÍûËüÃÇ×ܳöÏÖÔÚδ¸ú×ÙÎļþÁбí¡£ ÔÚÕâÖÖÇé¿öÏ£¬ÎÒÃÇ¿É

    ÒÔ´´½¨Ò»¸öÃûΪ .gitignore µÄÅäÖÃÎļþ£¬ÁгöÒªºöÂÔµÄÎļþµÄÆ¥Åäģʽ¡£Îļþ .gitignore µÄ¸ñʽ¹æ·¶ÈçÏ£º

    ¢Ù ÒÔ # ¿ªÍ·µÄÊÇ×¢ÊÍ

    ¢Ú ÒÔ / ½áβµÄÊÇĿ¼

    ¢Û ÒÔ / ¿ªÍ··ÀÖ¹µÝ¹é

    ¢Ü ÒÔ / ¿ªÍ·±íʾȡ·´

    ¢Ý ¿ÉÒÔʹÓà glob ģʽ½øÐÐÎļþºÍÎļþ¼ÐµÄÆ¥Åä(glob Ö¸¼ò»¯Á˵ÄÕýÔò±í´ïʽ)¡£

    17.glob ģʽ

    ËùνµÄ glob ģʽÊÇÖ¸¼ò»¯Á˵ÄÕýÔò±í´ïʽ£º

    ¢Ù ÐǺŠ* Æ¥ÅäÁã¸ö»ò¶à¸öÈÎÒâ×Ö·û¡£

    ¢Ú [abc] Æ¥ÅäÈκÎÒ»¸öÁÐÔÚ·½À¨ºÅÖеÄ×Ö·û (´Ë°¸ÀýÆ¥ÅäÒ»¸ö a »òÆ¥ÅäÒ»¸ö b »òÆ¥ÅäÒ»¸ö c)¡£

    ¢Û ÎʺŠ? ֻƥÅäÒ»¸öÈÎÒâ×Ö·û¡£

    ¢Ü ÔÚ·½À¨ºÅÖÐʹÓö̻®Ïß·Ö¸ôÁ½¸ö×Ö·û£¬ ±íʾËùÓÐÔÚÕâÁ½¸ö×Ö·û·¶Î§Äڵͼ¿ÉÒÔÆ¥Åä(±ÈÈç [0-9] ±íʾƥÅäËùÓÐ 0 µ½ 9 µÄÊý×Ö)¡£

    ¢Ý Á½¸öÐǺŠ** ±íʾƥÅäÈÎÒâÖмäĿ¼(±ÈÈç a/**/z ¿ÉÒÔÆ¥Åä a/z ¡¢ a/b/z »ò a/b/c/z µÈ)¡£

    18. .gitignore ÎļþµÄÀý×Ó

    #ºöÂÔËùÓеÄ.aÎļþ
    *.a
    
    #µ«¸ú×ÙËùÓеÄ1ib.a£¬¼´±ãÄãÔÚÇ°ÃæºöÂÔÁË.aÎļþ
    !lib.a
    
    ¶þÖ»ºöÂÔµ±Ç°Ä¿Â¼Ï嵀 TODOÎļþ£¬¶ø²»ºöÂÔ subdir/TODO
    /TOD0
    
    #ºöÂÔÈκÎĿ¼ÏÂÃûΪbuildµÄÎļþ¼Ð
    build/
    
    #ºöÂÔdoc/notes.txt,µ«²»ºöÂÔdoc/server/arch.txt
    doc/*.txt
    
    # ºöÂÔdoc/ Ŀ¼¼°ÆäËùÓÐ×ÓĿ¼ÏµÄ.pdfÎļþ
    doc/**/*.pdf

    19.²é¿´Ìá½»ÀúÊ·

    Èç¹ûÏ£Íû»Ø¹ËÏîÄ¿µÄÌá½»ÀúÊ·£¬¿ÉÒÔʹÓà git log Õâ¸ö¼òµ¥ÇÒÓÐЧµÄÃüÁî¡£

    #°´Ê±¼äÏȺó˳ÐòÁгöËùÓеÄÌá½»ÀúÊ·£¬×î½üµÄÌá½»ÅÅÔÚ×îÉÏÃæ
    git log
    
    #ֻչʾ×îеÄÁ½ÌõÌá½»ÀúÊ·£¬Êý×Ö¿ÉÒÔ°´Ðè½øÐÐÌîд
    git log -2
    
    # ÔÚÒ»ÐÐÉÏչʾ×î½üÁ½ÌõÌá½»ÀúÊ·µÄÐÅÏ¢
    git log -2 --pretty=oneline
    
    # ÔÚÒ»ÐÐÉÏչʾ×î½üÁ½ÌõÌá½»ÀúÊ·µÄÐÅÏ¢£¬²¢×Ô¶¨ÒåÊä³öµÄ¸ñʽ
    # %h Ìá½»µÄ¼òд¹þÏ£Öµ  %an×÷ÕßÃû×Ö  %ar×÷ÕßÐÞ¶©ÈÕÆÚ£¬°´¶à¾ÃÒÔǰµÄ·½Ê½ÏÔʾ   %sÌύ˵Ã÷
    git log -2 --pretty=format:"%h | %an | %ar | %s"

    20.»ØÍ˵½Ö¸¶¨µÄ°æ±¾

    #ÔÚÒ»ÐÐÉÏչʾËùÓеÄÌá½»ÀúÊ·
    git log --pretty=oneline
    
    #ʹÓà git reset--hardÃüÁ¸ù¾ÝÖ¸¶¨µÄÌá½»ID »ØÍ˵½Ö¸¶¨°æ±¾
    git reset --hard <CommitID>
    
    #Ôھɰ汾ÖÐʹÓÃgit reflog--pretty=oneline ÃüÁ²é¿´ÃüÁî²Ù×÷µÄÀúÊ·
    git reflog --pretty=oneline
    
    #Ôٴθù¾Ý×îеÄÌá½»ID£¬Ìø×ªµ½×îеİ汾
    git reset --hard <CommitID>
    0 ·ÖÏíµ½£º
    ºÍÎÒÃÇÔÚÏß½»Ì¸£¡
    ¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿