git 學習筆錄

Summer_xiazi發表於2018-07-03

簡介

說到git命令,首先我們要理解git 的執行原理,簡單的分為4個部分,分別是WorkSpace工作區,Stage快取區,Resposity 本地倉庫以及Remote遠端倉庫;從根本來說,git就是一套內容定址檔案系統,我們學會一些簡單的命令列操作即可,目的就是將我們本地倉庫程式碼提交至遠端倉庫,中間的快取區就是一個過渡區域,可以供我們使用執行一系列操作,下面簡單的介紹一下常用的一些git 命令!

一般對於第一此提交程式碼時,是需要配置使用者資訊的:

    1. git comfig -list   顯示當前的git配置
    2. git config -e [-global]   編輯git配置檔案
    3. 提交程式碼時的使用者資訊:
     	git config [-global] user.name 'name'  
        git config [-global] user.email 'email,address'
複製程式碼

對於日常的程式碼來說,我們只需要知道以下的這些命令列就可以了:

    1. git init [name]   新建目錄並初始化git 程式碼庫
    2. git clone url   從遠端倉庫拉取程式碼,此處url 就是倉庫中的連結
    3. git status  檢視當前的程式碼的提交狀態
    4. git diff 檢視程式碼修改的內容
    5. git pull  更新本地倉庫的程式碼
    6. git fetch  下載遠端倉庫的變動(目前還不清楚和git pull 有什麼區別)
    7. git log 顯示當前分支的歷史版本
    8. git blame 'file'  顯示指定檔案是誰什麼時候修改的
複製程式碼

分支管理:

    1. git branch 檢視當前所在分支
    2. git branch -r 檢視所有的遠端分支
    3. git branch -a  列出所有的遠端分支和本地分支
    4. git checkout '分支名' 	切換至遠端分支
    5. git branch '分支名'	新建分支但還滯留在當前分支
    6. git branch -b '分支名'		新建分支並且跳轉至新建分支
    7. git branch -	切換到上一個分支
    8. git merge '分支名'	合併指定分支到當前分支
    9. git branch -d '分支名'		刪除本地分支
    10. git push origin --delete '分支名'   刪除遠端分支
複製程式碼

另外和branch 分支類似的還有Tag標籤,用法類似:

    1. git tag  檢視所有的本地tag 標籤
    2. git tag  'name'   新建tag 標籤
    3. git tag -d 'name'	刪除本地tag 標籤	
    4. git push origin :refs/tags/'name'    刪除遠端tag 標籤
    5. git show 'tag'	檢視tag 資訊
    6. git push [remote] [tag]   提交指定tag
    7. git push [remote] --tags   提交所有的tag
複製程式碼

程式碼提交:

    1. git add 'file'	新增檔案至快取區
    2. git add .   	新增當前目錄的所有檔案至暫存區
    3. git commit -m '提交的備註資訊'  		提交程式碼至倉庫
    4. git commit 'file' -m 'info' 	提交某一個檔案至倉庫
    5. git commit -a 	提交快取區自上次提交之後的變化,直接提交至倉庫
    6. git commit -v	提交時顯示所有的diff

    提交過後,我們需要將程式碼從本地倉庫提交至遠端倉庫:
    若已有遠端分支,我們直接git push 即可
    若無,我們需要使用 git push --set-upstream origin  'name' 
複製程式碼

submodule 這個子模組功能特別好用,值得推薦!!!

模組(submodule)相關操作命令

    新增子模組:$ git submodule add 'url'  ‘name’
    初始化子模組:$ git submodule init ----只在首次檢出倉庫時執行一次就行
    更新子模組:$ git submodule update ----每次更新或切換分支後都需要執行一下
    刪除子模組:(4步)
    1)$ git rm --cached [path]
    2) 編輯“.gitmodules”檔案,將子模組的相關配置節點刪除掉
    3) 編輯“.git/config”檔案,將子模組的相關配置節點刪除掉
    4) 手動刪除子模組殘留的目錄
複製程式碼

一些我們遇到問題時候的處理辦法,常用,較為重要:

    1. git reset 'file'   重置暫存區的指定檔案,但是工作區保持不變,
    2. git reset --hard   重置暫存區和工作區,與上一次commit 保持一致
    3. git stash   將現有的改動放入快取區,此時就可以切換分支
    4. git stash pop 將我們stash 的檔案釋放,一般再切換分支不想提交的時候可以使用這兩個命令
    5. git checkout 'name' -f    若遇到無法切換分支的情況下,我們可以對其強制進行切換。
複製程式碼

從一個什麼git 命令都不知道的小白,到現在花了幾個月也就知道這麼多命令列,針對於工作,已經滿足需求了,剩下的請各位大佬補充!!!

相關文章