<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          一分鐘玩轉(zhuǎn) Git

          共 1272字,需瀏覽 3分鐘

           ·

          2020-06-18 23:20

          今天又有新來的小朋友問我關(guān)于 Git 的用法,我發(fā)現(xiàn)還是有蠻多新人不會(huì)用的,或者用不好的。其實(shí)想想自己剛工作時(shí)也是倒騰不清楚這些參數(shù)和用法,而且總怕出錯(cuò),慢慢的多看文檔、用得多了就熟悉了,今天簡單跟大家分享幾點(diǎn)。

          必知的 add & commit

          首先我們要清楚在本地的三種狀態(tài):

          c087f96a55ca8dfae27205d960834e4f.webp

          好吧我把命令已經(jīng)寫上去了。

          本地改完了代碼,就用

          git add 文件名/文件夾/多個(gè)也可

          提交到緩存區(qū),這里如果文件改動(dòng)的比較多,但又不是每個(gè)都需要提交,我會(huì)設(shè)置 git ignore file,就表示這些文件不要提交,比如在 build project 的時(shí)候會(huì)自動(dòng)生成的那些文件等等。

          然后再

          git commit -m "comment"

          才會(huì)到本地庫。一般后面都會(huì)跟個(gè) -m 加句 comment,簡單說下改了啥,像我們公司大家默認(rèn)也會(huì)把 Jira鏈接附上,這樣就知道這個(gè)改動(dòng)對(duì)應(yīng)哪個(gè)任務(wù)。

          那如果想再改,再重新 git add 即可,但是 commit 這句需要改成

          git commit --amend

          這樣就還是一條 git log 信息。

          Log

          git log 可以讓我們查看提交過的日志,這個(gè)主要是因?yàn)槿绻枰獙?duì)版本進(jìn)行前進(jìn) or 后退的(下一個(gè) reset),就需要用到編號(hào)

          直接 run

          git log

          的話就會(huì)顯示一大坨信息,從近到遠(yuǎn)顯示每次 commit 的 comment 還有作者、日期等信息,比如大概長這個(gè)樣子:

          commit 5abcd17dggs9s0a7a91nfsagd8ay76875afs7d6
          Author: Xiaoqi
          Date: xxx xxx xxx
          改了 Test 文件

          commit 后面的這個(gè)編號(hào),是每次歷史記錄的一個(gè)索引

          這樣打印的 log 太多,更簡潔的打印方式是:

          git --oneline

          就一行打印出來了。

          或者:

          git reflog

          更常用一些。

          Reset

          那我們剛剛說過,如果需要前進(jìn)或退回到某個(gè)版本,就用

          git reset --hard <編號(hào)>

          這樣就直接跳到了這個(gè)編號(hào)對(duì)應(yīng)的那個(gè)版本。

          那么這個(gè) hard 是什么意思呢?

          這里有 3 個(gè)參數(shù):hard, soft, mixed,我們一一來說一下。

          回到我們最重要的這張圖上來:

          5c7f1c43d888d98b8ced478a502fa10e.webp

          我們剛剛說的前進(jìn)或后退到某一版本,是對(duì)本地庫進(jìn)行的操作。

          那有個(gè)問題:
          本地庫的代碼跳到那個(gè)版本之后,工作區(qū)和暫存區(qū)的代碼就和本地庫的不同步了呀!

          那這些參數(shù)就是用來控制這些是否同步的。

          git reset --hard xxx

          三個(gè)區(qū)都同步,都跳到這個(gè) xxx 的版本上。

          git reset --soft xxx

          前面兩個(gè)區(qū)不同步,就只有本地庫跳到這個(gè)版本。

          git reset --mixed xxx

          暫存區(qū)同步,工作區(qū)不動(dòng)。

          所以呢,用的多的就是 hard.

          【完】


          推薦閱讀:


          a66b462733996249bf4f9b86fe80da9e.webp喜歡我可以給我設(shè)為星標(biāo)哦a66b462733996249bf4f9b86fe80da9e.webp

          84f4c9c052157148b937e5983c171b05.webp好文章,我“在看”fc7fef8aa56c39349523610be7b9a548.webp


          瀏覽 59
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲无码观看视频 | 一级丰满视频 | 日本少妇做爱视频 | 一区二区福利视频 | 在线日韩AV |