好記性不如爛筆頭,記錄一些常用命令,示例分支以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 "francis@163.com" // 配置郵箱
建立分支: 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 reset --hard造成本地修改丟失,可以使用git reflog檢視所有commit記錄,然後再執行 git reset --hard 操作,示例如下: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 rebase 命令簡單來講,就是可以將多次提交合併成一次提交,在分支合併時,如果有**衝突,在合併成一次提交之後只需要解決一次衝突即可,否則可能每次提交在合併時都需要解決衝突。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 常用命令記錄
記性太不好了,還是自己寫寫,記下來吧 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....