在開發過程中一般會用到Git進行版本管理,創建查看分支並與遠程倉庫交互是非常常見的操作。
branch分支
是指在開發主線中分離出來的,做進一步開發而不影響到原來的主線。
Git存儲的不是一系列的更改集,而是一系列快照,當你執行一次commit時,git存儲一個commit對象,它包含一個指針指向你當前需要提交的內容的快照。
master分支是在git init命令運行時默認創建一個分支,並命名為master。
查看分支
git branch // 列出本地已經存在的分支,當前分支會用 * 標記 git branch -r // 查看遠程倉庫的分支列表 git branch -a // 查看所有分支列表(包含本地和遠程分支) git branch -vv // 查看本地分支對應的遠程分支 git branch -v // 查看一個分支的最后一次提交 git branch --merged // 查看哪些分支已經合並到當前分支 git branch --no-merged // 查看所有未合並工作的分支
創建分支
git branch dev // 創建名為dev的分支(創建分支時需要是最新的環境,創建分支但依然停留在當前分支上
刪除分支
git branch -d dev // 刪除本地dev分支 git branch -D dev // dev分支還沒合並入當前分支,所以要用-D參數才能刪除掉 git push origin --delete dev // 刪除遠程dev分支 git push origin // dev刪除遠程dev分支
重命名分支
git branch -m oldName newName // 給分支重命名
切換分支
/* 操作文件 */ git checkout fileName // 放棄單個文件的修改 git checkout . // 放棄當前目錄的修改 /* 操作分支 */ git checkout master // 將分支切換到master git branch -b master // 如果分支存在則只切換分支,若不存在則創建並切換到master分支,repo start是對git checkout -b這個命令的封裝,將所有倉庫的分支都切換到master,master是分支名, /* 查看幫助 */ git checkout --help
拉取分支
git checkout dev // 將遠程分支dev拉取下來到本地dev分支 git pull dev // 拉取遠程分支dev中內容 git checkout -b test origin/test_remote // 將遠程分支test_remote拉取下來到本地test分支 git fetch origin // 同步遠程服務器的數據到本地
合並分支
/* 合並流程 */ git checkout test // 切換到test分支 git pull // 從遠程倉庫拉取最新代碼到本地test git checkout dev // 切換到當前分支 dev git merge test // 將test分支拉取下來的代碼合並到dev /* ----------- */ git merge --abort // 如果git merge的時候出現沖突,可以執行這個命令取消merge。 git cherry-pick commit_id // 將一個分支的commit_id提交合並到當前分支上,並舍棄另一個分支上的其他提交。
整理自:Git創建分支和查看分支
- END -