git的使用命令

2022-03-18 00:07:31 字數 3795 閱讀 5738

git archive --format zip --output "./test.zip" master -0

將專案的**通過上述命令打包壓縮為test資料夾

ssh-keygen 生成公鑰

vi ~/.gitconfig修改使用者資訊

git remote set-url origin remote_git_address 倉庫位址改變後修改遠端的源

git reset --hard 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改

fit checkout

切換分支

git checkout -b < new_branch> 建立新的分支,並且切換過去

簡單的**提交流程

git status 檢視工作區**相對於暫存區的差別

git diff 比較修改不同之處

git add . 將當前目錄下修改的所有**從工作區新增到暫存區 . 代表當前目錄

git commit -m 『注釋』 將快取區內容新增到本地倉庫

git pull origin master先將遠端倉庫master中的資訊同步到本地倉庫master中

git push origin master 將本地版本庫推送到遠端伺服器,

origin是遠端主機,master表示是遠端伺服器上的master分支和本地分支重名的簡寫,分支名是可以修改的

檢視、新增、提交、刪除、找回,重置修改檔案

git help < command > # 顯示command的help

git show # 顯示某次提交的內容 git show $id

git co -- < file > # 拋棄工作區修改

git co . # 拋棄工作區修改

git add < file > # 將工作檔案修改提交到本地暫存區

git add . # 將所有修改過的工作檔案提交暫存區

git rm < file > # 從版本庫中刪除檔案

git rm < file> --cached # 從版本庫中刪除檔案,但不刪除檔案

git reset < file> # 從暫存區恢復到工作檔案

git reset -- . # 從暫存區恢復到工作檔案

git reset --hard # 恢復最近一次提交過的狀態,即放棄上次提交後的所有本次修改

git ci < file> git ci . git ci -a # 將git add, git rm和git ci等操作都合併在一起做

git ci -am "some comments"

git ci --amend # 修改最後一次提交記錄

git revert < $id> # 恢復某次提交的狀態,恢復動作本身也建立次提交物件

git revert head # 恢復最後一次提交的狀態

檢視檔案diff

git diff < file> # 比較當前檔案和暫存區檔案差異 git diff

git diff < id1>< id2> # 比較兩次提交之間的差異

git diff < branch1>..< branch2> # 在兩個分支之間比較

git diff --staged # 比較暫存區和版本庫差異

git diff --cached # 比較暫存區和版本庫差異

git diff --stat # 僅僅比較統計資訊

檢視提交記錄

git log git log < file> # 檢視該檔案每次提交記錄

git log -p < file> # 檢視每次詳細修改內容的diff

git log -p -2 # 檢視最近兩次詳細修改內容的diff

git log --stat #檢視提交統計資訊

tig

mac上可以使用tig代替diff和log,brew install tig

git 本地分支管理

檢視、切換、建立和刪除分支

git br -r # 檢視遠端分支

git br < new_branch> # 建立新的分支

git br -v # 檢視各個分支最後提交資訊

git br --merged # 檢視已經被合併到當前分支的分支

git br --no-merged # 檢視尚未被合併到當前分支的分支

git co < branch> # 切換到某個分支

git co -b < new_branch> # 建立新的分支,並且切換過去

git co -b < new_branch> < branch> # 基於branch建立新的new_branch

git co $id # 把某次歷史提交記錄checkout出來,但無分支資訊,切換到其他分支會自動刪除

git co $id -b < new_branch> # 把某次歷史提交記錄checkout出來,建立成乙個分支

git br -d < branch> # 刪除某個分支

git br -d < branch> # 強制刪除某個分支 (未被合併的分支被刪除的時候需要強制)

分支合併和rebase

git merge < branch> # 將branch分支合併到當前分支

git merge origin/master --no-ff # 不要fast-foward合併,這樣可以生成merge提交

git rebase master < branch> # 將master rebase到branch,相當於: git co < branch> && git rebase master && git co master && git merge < branch>

git補丁管理(方便在多台機器上開發同步時用)

git diff > ../sync.patch # 生成補丁

git暫存管理

git stash # 暫存

git stash list # 列所有stash

git stash drop # 刪除暫存區

git遠端分支管理

git pull # 抓取遠端倉庫所有分支更新並合併到本地

git pull --no-ff # 抓取遠端倉庫所有分支更新並合併到本地,不要快進合併

git fetch origin # 抓取遠端倉庫更新

git merge origin/master # 將遠端主分支合併到本地當前分支

git co --track origin/branch # 跟蹤某個遠端分支建立相應的本地分支

git co -b < local_branch> origin/< remote_branch> # 基於遠端分支建立本地分支,功能同上

git push # push所有分支

git push origin master # 將本地主分支推到遠端主分支

git push -u origin master # 將本地主分支推到遠端(如無遠端主分支則建立,用於初始化遠端倉庫)

git push origin < local_branch> # 建立遠端分支, origin是遠端倉庫名

git push origin < local_branch>:< remote_branch> # 建立遠端分支

git push origin :< remote_branch> #先刪除本地分支(git br -d < branch>),然後再push刪除遠端分支

git的使用命令

對於已經提交過的檔案,gitignore沒有效果的,這種要使用 git update index assume unchanged file path 取消使用 git update index no assume unchanged file path 8 git config global ai...

Git使用命令

初始化本地git倉庫 git init宣告遠端倉庫路徑 git remote add origin 你的遠端專案位址 檢視倉庫位址 git remote v如果結果是正確的則跳過下面的 git remote rm origin 刪除當前連線 git remote add origin xx.git ...

git使用命令

建立分支 git branch mybranch 切換分支 git checkout mybranch 建立並切換分支 git checkout b mybranch 更新master主線上的東西到該分支上 git rebase master 切換到master分支 git checkout mas...