Git 操作與命令

2021-10-10 08:09:25 字數 3510 閱讀 9395

github 多個遠端倉庫的集合體

遠端倉庫 伺服器上的**倉庫

本地倉庫 在自己電腦上的**倉庫

工作區 寫**的地方

暫存區 暫時儲存**的地方

分支 永久儲存**修改的地方

git init 建立本地倉庫

git status 檢視當前的git狀態

git add 將工作區的修改提交到暫存區

git add . 新增全部的工作區檔案

git add 具體檔案路徑 提交乙個檔案

git commit 將暫存區的修改 提交到分支

git commit -m 『本次操作的注釋』

git branch 檢視當前本地分支

git branch -a 檢視遠端和本地所有分支

git branch -d 分支名 表示刪除分支 注意不能自殺

git push origin --delete issue-peiyou-20200508 刪除遠端分支

git checkout 分支名 切換分支

git checkout -b 分支名 建立新分支並切換

git log 檢視操作資訊

git reflog 檢視操作資訊

git reset --soft head^ 僅僅是撤回commit操作,不撤回add . 您寫的**仍然保留

git reset head^ 撤回commit和add 相當於 --mixed

head^

如果你進行了2次commit,想都撤回,可以使用

head~2

git reset --hard 版本id 版本回退與前進

git merge 分支名 分支合併

1.執行命令的分支 應該是母分支

2.將子分支合併到木分支上

分支合併過程中經常會產生衝突(多個分支同乙個檔案 有不同的修改 git工具不能確定保留哪乙個 產生衝突讓開發者自己解決)

git checkout 檔案路徑 // 忽略提交某個檔案

git commit --amend // 修改提交後的commit資訊內容

git stash //暫存當前的修改(可用於切換分支更新**之類的)

git stash pop // 恢復暫存的修改

git stash list // 檢視暫存歷史

git show + (commitid) 檢視對應提交的**差異

git log -p src/pages/message/actionbar.tsx // 檢視該路徑下的修改歷史

git log --graph --decorate --oneline 視覺化影象

git config --global --edit 全域性的快捷指令/全域性配置檔案

git diff commit commit 檢視兩個提交的差異

git cherry-pick 能夠把另乙個分支的乙個或多個提交複製到當前分支,具體使用如下:首先git checkout到另乙個分支,然後使用git log找到想要複製的commit 的id,記錄下來切換到自己分支,使用git cherry-pick [上面記錄的commit id] 回車即可!

遠端倉庫相關

o遠端倉庫已經建立 git clone url

o遠端倉庫沒有建立 建立本地倉庫 git init 在與遠端倉庫關聯 git remote add 遠端倉庫名(origin) 連線位址 git remote add origin push -u origin master

提交本地分支**到遠端倉庫的分支 git push 遠端倉庫名(origin) 分支名 (master)

更新本地** git pull 遠端倉庫名(origin) 分支名(mater)

.gitignore

gitflow (git工作流)

master 主分支 和線上**完全保持一致

預上線分支 測試分支

dev 開發分支 開發者的開發分支

個人分支 開發者在個人分支寫功能

bug 分支 線上**出現bug後的分支

主程建立遠端倉庫

在本地建立 dev分支

在dev分支初始化專案

將dev分支推送到遠端倉庫

其他人員

o先轉殖遠端倉庫**

o從dev切換出個人分支

o在個人分支開發功能

o將個人分支合併dev分支

o更新dev分支 git pull

o將dev 提交到遠端倉庫

多人操作同一資料庫

mongod --bind_ip_all

yapi easy-mock mock json-mock

npm install -g yapi-cli -registryyapi server

gitlab 流程 rebase的用法

從 dev切出去乙個分支git checkout -b 你的分支名字 (eg: issue-某某功能-20200221)

然後進行開發功能

開發完成之後git add . git commit -m 『message』

然後 git fetch

然後 git rebase origin/develop 解決衝突(develop指代線上穩定分支)

去編輯器裡解決完衝突(rebase有時是分步的,解決完需要git add .,git rebase --continue)然後繼續解決衝突

o如果不想rebase了,就git rebase --abort

衝突解決完了就git push origin 你自己建立的分支名字

最後去gitlab上建立乙個mr請求合併到develop分支(或組裡指定的穩定分支) 審核人填一下

然後審核人 codereview **可以的話,就給你合併到dev分支了

修改本地git分支名稱指令

git branch -m oldbranchname newbranchname

修改遠端倉庫(github)上的分支名稱

git本地分支名已修改,只需推送到遠端倉庫上,即可更換掉遠端倉庫的分支名稱

git revert 和 git reset的區別

git revert是用一次新的commit來回滾之前的commit,此次提交之前的commit都會被保留;

git reset是回到某次提交,提交及之前的commit都會被保留,但是此commit id之後的修改都會被刪除

撤銷(revert)和重設(reset)對比;

git revert 回滾了「單獨乙個提交」,它沒有移除後面的提交,然後回到專案之前的狀態。在 git 中,後者實際上被稱為 reset,而不是 revert。

git rebase 和 merge區別

rebase 會把你當前分支的commit放到公共分支的最後面,所以叫變基,就好像你從公共分支又重新拉出來這個分支一樣

merge 會把公共分支和你當前的 commit 合併到一起,形成乙個新的 commit

Git操作與命令

一 建立與合併分支 1 從master分支建立dev分支並切換到dev分支 git checkout master git checkout b dev 其中,git checkout b dev 等價於 git branch dev git checkout dev 1 git branch 檢視...

git的基本操作與命令

本地庫初始化 git init 注意 git目錄中存放的是本地庫的相關子目錄和檔案,不要刪除,也不要胡亂修改 設定簽名 git config user.name 使用者名稱 git config user.email email 一.基本操作 1.狀態檢視操作 git status 檢視工作區,暫存...

git操作命令

1.cd d 開啟磁碟 3.pwd 顯示當前的目錄 4.git init 把這個目錄變成git可以管理的倉庫 5.git add readme.txt 新增到暫存區裡面去 6.cat readme.txt 檢視檔案內容 7.git commit m readme.txt 把檔案提交到倉庫 8.git...