【Git】常規操作指令

  Git使用筆記

//查看某個命令文檔
git help <command>
git <command> -h
git <command> --help

 1.基本操作

  用戶配置

git config --global user.name "xujianfu"
git config --global user.email 895193543@qq.com

  配置級別

–local(默認,高級優先):隻影響本地倉庫
–global(中優先級):隻影響所有當前用戶的git倉庫
–system(低優先級):影響到全系統的git倉庫

  倉庫操作

//初始化倉庫
git init 

//對狀態的跟蹤
git status

  注意:git status介紹:
  git中有兩個狀態:內容狀態和文件狀態,
  內容狀態標示內容文件的改變,有三個區域:工作目錄,暫存區和提交區
  文件狀態有兩個狀態:已跟蹤和未跟蹤

//添加文件內容到暫存區(同時文件被跟蹤)
git add
    
//添加所有文件
git add .
    
git rm --cached :僅從暫存區刪除
git rm :從暫存區與工作目錄同時刪除
git rm $(git ls-files --deleted):刪除所有被跟蹤,但是在工作目錄被刪除的文件

git -commit -m 'first commit' //從暫存區提交 -m:註釋
git commit -a -m 'full commit'從工作區提交

git log //查看提交歷史記錄
git log --online
git log --color --graph

git diff //工作區與暫存區的差異
git diff  --cached [<reference>]//暫存區與某次提交的差異,默認爲HEAD
git diff  [<reference>]//工作區與某次提交的差異,默認爲HEAD

git checkout -- <file> //將文件內容從暫存區複製到工作目錄

//撤銷暫存區內容
git reset HEAD <file> //將文件內容從上次提交複製到緩存區
git checkout HEAD -- <file> //將內容從上次提交複製到工作目錄

 

  分支操作

    1.git branch  分支的增刪查改都靠它

git branch <branchName> //創建一個分支
git branch -d <branchName> //刪除一個分支
git branch -v //顯示所有分支信息

    2.git checkout

git checkout <branchName> //通過移動HEAD檢出版本,可用於切換分支
git checkout -b <branchName> //創件一個分支並切換
git checkout <reference> //將其移動到一個引用
git checkout - //恢復到上一個分支

  git checkout 也可以跟一個commitid,這時候HEAD指向這個commitid跟所有分支分離,這個狀態爲detached

    3.git reset

//git reset 將當前分支回退到歷史某個版本
git reset --mixed <commit> //(默認)
git reset --soft<commit> 
git reset --hard <commit>

    4.git stash

    git stash 用來保存目前的工作目錄和暫存區狀態,並返回到乾淨的工作空間

    有時候我們要切換分支會有以下提示,是因爲當前分支還有內容未提交,現在切換內容會丟失。這時候要用到git stash 命令

git stash save "push to stash area" // 通過save 後面傳入信息標識 放到stash區
git stash llist //查看收藏的記錄
git stash apply stash@{0} //將保存的內容重新恢復到工作目錄
git stash drop stash@{0} //將對應的stash記錄刪除

git stash pop //= git stash apply + git stash drop

    5.git merge

合併分支
git cat-file -p HEAD //查看某個對象的具體信息
git merge 基本會出現衝突

merge fast-forward

merge fast-forward //默認 不會顯示 feature,只保留單條分支記錄。git直接把HEAD指針指向合併分支的頭,完成合並。屬於“快進方式”,不過這種情況如果刪除分支,則會丟失分支信息。因爲在這個過程中沒有創建commit
git merge --no-ff //指的是強行關閉fast-forward方式。可以保存之前的分支歷史。能夠更好的查看 merge歷史,以及branch 狀態

git rebase //修剪提交歷史基線,俗稱“變基”
git rebase --onto master 5755487

    6.遠程操作

git init ~/git-server --bare  //初始化一個本地的遠程服務器

git push //將本地歷史推送到遠程


git remote add  origin ~/git-server //添加一個遠程倉庫的別名
git remote -v //查看遠程倉庫信息


git fetch  //獲取遠程倉庫的提交記錄
git pull // git pull = git fetch + git merge

git clone //克隆一個遠程倉庫作爲本地倉庫

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章