git 基礎命令

2021-09-29 20:01:35 字數 3449 閱讀 1677

master:主分支,永遠是可用的、穩定的、可直接發布的版本,不能直接在該分支上開發

develop:開發主分支,**永遠是最新,所有新功能以這個分支來建立自己的開發分支,該分支只做只合併操作,不能直接在該分支上開發

feature-***:功能開發分支,在 develop 上建立分支,以自己開發功能模組命名,功能測試正常後合併到 develop 分支

release:預分布分支,在合併好 feature 分支的 develop 分支上建立,主要是用來測試 bug 的分支,修改好bug並確定穩定之後合併到

develop 和 master 分支,然後發布 master 分支

release-fix:功能 bug 修復分支,在 release 上建立分支修復,修復好測試出來的 bug 之後合併回 release 分支

hotfix-***:緊急 bug 修改分支,專案上線之後可以會遇到一些環境問題需要緊急修復,在 master 分支上建立,流程跟 release

分支相似,修復完成後合併到 develop 和 master 分支

(1)git push 分支倉庫 --delete 分支名 刪除遠端分支

eg: git push origin --delete 分支1

(2)git push 分支倉庫 本地分支名:遠端分支名

eg:git push origin 本地分支名:遠端分支名

(3)git push --set-upstream 倉庫名 分支名 遠端新建分支,並且和本地分支關聯

eg:push --set-upstream origin dev

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

(2)git branch -d 分支名 (git branch -d 分支名 《強行刪除本地》)刪除本地分支

eg: git branch -d 分支1

(3)git branch -vv 檢視本地分支對應的遠端分支

(4)git branch 新建分支

(5)git branch -m 重新命名本地分支

(6)git branch 基於某次提交建立新分支

eg:git branch <(test)分支名》 <(1111)提交號》

(7)git branch -f 分支名 head~3(指定提交) 強制分支指向指定提交

eg:沒用過

(8)git branch --set-upstream-to=倉庫名/《遠端分支名》 本地分支名 本地分支關聯遠端分支

eg:git branch --set-upstream-to=xinhua/per xinhua-pre

(1)git remote -v 檢視所有倉庫

(2)git remote add 別名 url 新增新git倉庫

eg:git remote add xinhua

(3)git remote rename 倉庫名稱重新命名

(4)git remote remove 刪除倉庫名稱

(5)git remote prune 倉庫名稱

eg:git remote prune origin 更新倉庫分支

(6)git remote set-url origin url 修改現有倉庫位址

eg:git remote set-url origin aaa.com

(1)git checkout -b 《分支名》 建立並切換分支

注: git checkout -b 《分支名》 == git branch + git checkout (2)git checkout -b 《分支名》 《提交號》 使用某次提交建立分支並切換

(3)git checkout -b 《本地分支名》 以遠端的sit分支為基礎建立乙個test分支(本地沒有sit分支)

(1)git rebase 《分支名》 合併分支(相當於 git merge)

注:git rebase過程相比較git merge合併整合得到的結果沒有任何區別.但是git rebase 提交歷史是線性的.(和一次一次commit提交效果一樣)

分支a: 《提交a> --> 《提交b>

分支b: 《提交a> --> 《提交c>

在分支a 使用 git rebase 分支b 得到的結果: 《提交a> --> 《提交b> --> 《提交c>(merge 的結果自行腦補)

(2)git rebase -i head~3 合併最近三次提交為一次 (一般選擇squash/fixup 引數 前者保留commit提交備註,後者不保留)

進入vim 編輯介面

pick commit 1

pick commit 2

pick commit 3

注: pick:正常選中

reword:選中,並且修改提交資訊;

edit:選中,rebase時會暫停,允許你修改這個commit

fixup:與squash相同,但不會儲存當前commit的提交資訊

exec:執行其他shell命令

(1) git commit --amend 修改上次提交.(如果commit 已經提交遠端倉庫,則 push 用 git push --no-thin 倉庫名 分支名)

eg: git commit -m "第一次提交"

git commit --amend

進入 vim編輯頁面

輸入: 修改一下

儲存退出

git log 上次提交 變成了 "修改一下"(也可以用來給上次提交新增修改)

git push --no-thin 倉庫名 遠端分支名

(2) git commit --fixup

git rebase -i --autosquash

注: 不會!不會!不會

(1)git pull --rebase 解決多人同時操作分支,本地版本落後提交時出現merge問題.

eg: 準備提交分支,發現遠端有人提交**.直接 git pull 會使分支樹出現merge,使用 git pull --rebase 會出現線性分支樹.(自行嘗試)

(1)git reset --hard 

強制當前分支指向當前hard,也就是回退

(2)git reset 提交號

回退某一版

(3)git reset --hard fetch_head

放棄本地commit

(1)git revert 提交號

會撤銷原來不用分支的更改,生成乙個新的分支.eg:a(想回退的分支)->b->c c=(-a)

(1)git fetch 《遠端主機名》 //這個命令將某個遠端主機的更新全部取回本地	

(2)git fetch 《遠端主機名》 《分支名》 拉取特定分支

GIT 基礎 基礎命令

環境 centos7 yum install git這裡裡有個隱藏的資料夾 git 為git倉庫的配置資料夾,不可隨意修改 cd www git git init ls a git這裡和我們平時使用的git客戶端中設定使用者名稱和郵箱一樣的作用 git config global user.name...

Git 基礎命令

一 建立 git init 初始化乙個git倉庫 git add 把檔案新增到倉庫 git commit 把檔案提交到倉庫 二 顯示 git status 檢視倉庫當前的狀態 git log 檢視提交日誌 git reflog 檢視每次命令的記錄 三 管理 git reset hard head 把...

Git基礎命令

git現在廣泛應用在開發 管理中,想當年svn也是幹過這事,當然現在也還有人用,畢竟還是有情懷的嘛。對於測試,現在用git的還少,相對於檔案管理,svn還是會方便很多。當然,用習慣了git也方便,但是我第一次開始用吧,覺得特麻煩,把基礎命令總結下,免得幾日不用忘記。1.建立專案 不管是gitlab ...