git 常用命令記錄

2021-10-02 17:05:26 字數 3903 閱讀 7990

好記性不如爛筆頭,記錄一些常用命令,示例分支以master和dev為例,以下所有命令在git version 2.22.0.windows.1版本上測試通過。另外,推薦乙個**:

git help -a

git --help

工作區:  git init 建立的**庫的所有檔案但不包括 .git檔案(版本庫)

暫存區: 通過git add 操作新增的修改,都進入到暫存區了,通過git status可檢視

可以認為:乙個檔案被修改了,git add之前它在工作區,git add之後它在暫存區

先需要建立遠端倉庫,然後本地開啟git bash,執行命令列

初始化git倉庫: git init

將檔案新增至暫存區: git add .

提交:git commit -m "提交描述"

推送到遠端倉庫:git push -u origin master

git config --list    // 檢視配置資訊

git config --global core.safecrlf false // 去掉git add 命令後 出現的一堆cr lf提示資訊

git config --global credential.helper wincred // 儲存憑證(可用於輸入一次使用者密碼後,有時候會老是提示輸入使用者名稱和密碼)

git config --global alias.ci commit // 為commit命令設定別名ci

git config user.name "francis" // 配置使用者名為francis

git config user.email "[email protected]" // 配置郵箱

建立分支: git branch dev

切換分支: git checkout dev

建立並切換分支: git checkout -b dev

更新master分支到當前分支:git rebase master

合併master分支到當前分支:git merge master

刪除分支: git branch -d dev

強制刪除分支:git branch -d dev

列出所有分支: git branch / git branch -a / git branch -r

檢視各個分支最後一次提交: git branch -v

檢視哪些分支合併入當前分支: git branch –merged

檢視哪些分支未合併入當前分支: git branch –no-merged

檢視狀態或修改: git status

將修改新增至暫存區: git add 單個檔名 或 git add . ( 新增所有檔案)

提交: git commit -m '提交描述'

更新遠端庫到本地: git fetch origin

建立並切換分支(根據遠端dev內容建立): git checkout -b dev origin/dev

推送分支:git push origin dev

取遠端分支合併到本地: git merge origin/dev

git stash // 把修改內容快取起來,有時切換分支時會提示先儲存修改,可使用此命令

git stash list // 檢視stash了哪些儲存

git stash pop // 將stash中的內容恢復到當前目錄,將快取堆疊中的對應stash刪除

git stash clear // 刪除所有快取的stash

假設master分支和dev分支**有一定區別,

dev分支有多次提交記錄,其中一次提交id為:88203a83aa,

現在我需要且只需要把id為88203a83aa的提交記錄**合併到master分支,怎麼辦?

git checkout master

git pull origin master

git cherry-pick 88203a83aa

git push origin master

這樣,只有id為88203a83aa的**會合併到master分支。

git cherry-pick -x committed // 會保留原提交者資訊

git cherry-pick .. // 把不包含start-commit-id的pick過來,左開右閉

git cherry-pick ^ .. // 把包含start-commit-id的pick過來,閉區間

git checkout --  檔名    // 回撤git add之前被修改的檔案,還原該檔案的此次修改

git stash 加上 git stash clear // 回撤git add之前被修改的檔案,會還原此次修改的所有檔案

git reset head 檔名 // 將已git add的檔案回退到git add之前的狀態,不會還原修改

git commit --amend -m "2" // 合併提交記錄,假設上一次提交為1當前為2,執行此操作並推送遠端後只能看到提交2

git reset :

--hard 可以回退已commit和push的操作,同時還原本地修改造成資料丟失

--soft 可以回退已commit和push的操作,但不會還原本地修改,一般用於回退已commit操作的

兩者用法是一樣的,根據場景選擇,下面以--hard為例:

git reset --hard head^ // 回撤1步,假設當前提交記錄為2,上次一提交為1,回撤到提交記錄為1的位置

git reset --hard head~2 // 回撤2步,數字為幾代表回退幾步

git log // 檢視提交記錄,*不能檢視已刪除的commit*

git reset --hard 提交id // 回撤到該次提交id的位置

git push -f -u origin dev // 強制推送回撤後的內容到遠端dev分支

若使用git reset --hard造成本地修改丟失,可以使用git reflog檢視所有commit記錄,然後再執行 git reset --hard 操作,示例如下:

git tag   // 列出所有打過的標籤名

git tag -l 'v*' // 列出v開頭的所有標籤

git tag v1.0 88203a83aa -m "第一版" // 將提交id為88203a83aa打上v1.0標籤,其中 id 和 -m 引數可省略

git checkout v1.0 // 切換到標籤1.0版本

git tag -d v1.0 // 刪除本地標籤v1.0

git push origin :v1.0 // 刪除遠端倉庫標籤v1.0,或者 git push origin --delete v1.0

git push origin --tags // 把所有打好的標籤推送到遠端倉庫

git push origin v1.0 // 將v1.0標籤推送到遠端倉庫

git show v1.0 // 檢視tag資訊

git rebase 命令簡單來講,就是可以將多次提交合併成一次提交,在分支合併時,如果有**衝突,在合併成一次提交之後只需要解決一次衝突即可,否則可能每次提交在合併時都需要解決衝突。

Git 常用命令記錄

記性太不好了,還是自己寫寫,記下來吧 intellij直接是使用的圖形介面,命令啥的也不清楚 git init 用來初始化目錄為git目錄,告訴git,這個目錄歸你管了 git add readme.txt git add將檔案提交給git,放在臨時區 就是說,誒,這個檔案是我要準備提交的啊,你得跟...

git常用命令記錄

git常用命令 予懷 這篇文章就是記錄了一些常用的git命令,並不會詳細講解,如果有疑問,請檢視git官方api手冊 初學者可以檢視git教學手冊,也有碼雲的中文手冊 git add 提交修改到快取。常見用法 git add git add u git add a git commit 提交快取區的...

git常用命令記錄

git常用命令 git config global user.name 你再github上註冊的使用者名稱 git config global user.email 註冊時候的郵箱 git config list命令來看看是否配置成功 touch readme.md建立並新增乙個名字為readme....