git常用命令

2021-07-11 02:07:29 字數 2871 閱讀 4315

總覺得能寫出來才是自己的。我們進行開發工作,**和版本管理是不可少的,git不同於cvs和svn這樣的集中式版本控制系統,它是分布式的,每個人都有乙份**庫,遠端的**伺服器只是起到交換**修改的作用。git的優勢不僅在於不聯網就能幹活,更強大的是它的分支管理。

安裝好後需對其進行配置:git config --global user.name "qiqi";     git config --global user.email "[email protected]"

建立版本庫:在新建的資料夾下右鍵開啟gitbash或者按住shift開啟cmd,執行:git init。此資料夾變為乙個git倉庫。

git工作流:

在倉庫中有修改時:通過git add -a,提交到暫存區;

提交到歷史區:git commit -m「第一次修改」 ;(提交前必須add)

檢視三個區域的狀態:git status,紅色表示工作區的改動,綠色表示暫存區的改動。

檢視工作區和暫存區中檔案的區別:git diff;

檢視暫存區和歷史區的差異:git diff -cacher

回到過去的commit或者到未來的commit:

檢視commit記錄:git log;(git log --oneline:精簡顯示資訊;git log --oneline --all --graph --decorate:類圖形化顯示commit變動)

回退到上乙個版本:git reset --hard head^(git reset --hard 提交id:回退到任意之前的版本; --hard:回退工作區、暫存區、歷史區;--soft:值回退歷史區:--mixed:只回退歷史區和暫存區)

回退後悔了,想恢復回退:git relog:檢視命令記錄,git reset --hard 提交id。

git commit –amend

:有時候用 git commit -m 提交時,可能沒寫好或者誤操作導致提交的資訊不合適,但你還沒有 push 到遠端分支時,修改還未提交到遠端分支的 commit 資訊。

撤銷修改:

之前add了未commit,現在未 add未commit,丟棄工作區:git checkout -- 檔名

之前add了commit了,現在未add,丟棄工作區:git reset  head 檔名;git checkout -- 檔名;

關於git checkout:

git checkout:

彙總顯示工作區、暫存區與head的差異。

git checkout head:同上

git checkout -- filename:用暫存區中filename檔案來覆蓋工作區中的filename檔案。相當於取消自上次執行git add filename以來(如果執行過)的本地修改。

git checkout branch -- filename:維持head的指向不變。用branch所指向的提交中filename替換暫存區和工作區中相應的檔案。注意會將暫存區和工作區中的filename檔案直接覆蓋。

刪除檔案:

誤刪:git checkout -- 檔名;確實要刪除:git rm 檔名;git commit  -m「刪除」

分支:

git預設是在master上,在此基礎上可以建立其他分支,同時有乙個指標head,指向最新提交(commit),  

檢視分支: git branch; 

建立並切換分支:git checout -b dev (等於git branch dev,git checkout dev);

在master分支上把dev合併到master上:git merge dev

刪除分支:git branch -d dev

放棄某次合併:git merge --about        

合併衝突:分別在a分支和b分支上修改,merge時出現衝突,這時候需要手動解決衝突,然後再提交。git log

--graph --oneline可以檢視分支合併圖。

禁用快速合併模式:通常合併分支是,如果可能,git會用fast forward模式,這樣合併後會丟掉分支資訊。禁用ff模式:git merge --no--ff  -m「merge with no--ff」 dev.

在分支b上執行git rebase 分支a:會將b分支的所有提交追加在a分支後,以前的b

分支會被丟棄。(如果想放棄rebase:git

rebase --abort)

git cherry-pick commitid:把其他分支的某次提交追加到當前分支。

關聯github:

git remote add origin **庫位址;(origin可以隨便是 什麼名字,只是個標示而已,如果不想關聯了:git remote rm origin)

git remote -v;檢視關聯了哪些github

git push -u origin master:將master分支的東西提交到github(遠端);

其他命令:

git內部原理圖:

每commit一次就會產生tree物件(暫存區當前目錄樹的快照)和commit物件,master分支指向最新的提交。

git ls-files:檢視暫存區有什麼檔案;

git ls-tree head 檢視歷史區有哪些檔案

git cat-file -p id:檢視物件內容。

常用命令 Git 常用命令大全

安裝教程可參照 廖雪峰老師的安裝教程。git config 在git中,使用git config 命令來配置 git 的配置檔案,git配置級別主要有3類 1 倉庫級別 local 本地 git 倉庫級別配置檔案,作用於當前倉庫。優先順序最高 2 使用者級別 global,全域性配置檔案,作用於所有...

git 常用命令

檢視是否存在檔案需要上傳 git status git add git commit m 建立遠端倉庫 git remote add origin 116.255.146.153 ruby cd work daily project.git 更新git fetch 116.255.146.153 r...

git常用命令

詳細 1,git log p 命令來顯示每一次提交與其父節點提交內容之間快照的差異。2,為了檢視載入 staged 而並未提交 not committed 的內容差異,可以使用 git diff stage 命令 在git 1.6之前的版本中,使用 cached 適應情形 在執行git commit...