1. 使用TortoiseGit(小烏龜)操作分支的創建
最近遇到了一件令我欣喜的事情,某重要機構看中了我的開源項目,想要和我共同維護迭代,整一個改變世界的產品,我一想這還了得,分分鍾答應啊。
但是遇到了一個問題,之前呢都是我一個人在玩,只有一個master分支(我懶啊),問題倒也不大,但是如果很多人一起開發這就比較難為情了,只有一個master分支不太合適了。不利於以後的迭代維護。改變世界啊哈哈哈。
閑話少敘上干貨如下圖,現在的我的github庫上面只有一個master分支
由於是窮屌絲用不起mac,所以我windows為例進行相應的演示:
下圖就是本地使用小烏龜的版本管理工具在只有一個分支的情況下執行命令:Switch/Checkout 顯示的內容。
下面分為三個步驟進行創建分支操作
第一步:創建本地分支:點擊右鍵選擇TortoiseGit,選擇Create Branch…,在Branch框中填寫新分支的名稱(若選中」switch to new branch」則直接轉到新分支上,省去第二步),點擊OK按鈕:
第二步:通過「Switch/Checkout」切換到新創建的分支上(我新建的是dev分支),點擊OK:
在相應的文件夾中 單擊右鍵 看看是不是已經成功的切換分支,如下圖 我已經成功的切換了分支。
第三步:在新分支下執行PUSH操作,在對話框中保持遠程分支為空白,點擊OK,則將在遠程創建了新的分支(在PUSH的時候遠程伺服器發現遠程沒有該分支,此時會自動創建一個和本地分支名稱一樣的分支,並將本地分支的內容上傳到該分支)。
再回到自己的github上面,看看自己的項目是不是多了一個分支
右鍵執行switch/Checkout 已經有了這個分支的名字(開不開心);
喜歡的就給我點個贊吧,碼字截圖不容易。
2. Git創建分支
一、 創建test分支提交步驟
1.列出所有分支
2.創建test分支
3.切換到test分支:
4.添加add修改:
5.添加commit注釋
6.提交到伺服器
二、將test分支合並到master本地分支
1.創建test分支
2.切換到test分支
3.在test分支添加一個readme.txt文件
4.提交commit本地文件
5.切換到master分支
6.把test分支合並到master分支
7.提交master分支到伺服器
8.刪除test分支
————————————————
原文鏈接: https://blog.csdn.net/yangjuan814/article/details/93538221
3. 2018-10-08 git快速創建分支的腳本
將腳本保存為shell格式,比如gitCreateBranch.sh。使用時直接"當前腳本的路徑/gitCreateBranch.sh 你分支的名稱",即可創建一個分支。
#! /bin/bash
# 保存當前目錄
echo "Start to create branch"
echo $1
# 切換到項目目錄
cd ~/Documents/xxxxxx/xxxx/xxx
# 執行git命令
# 將當前的分支stash
git stash
# 先切換到master分支
git checkout master
# 新建的分支
git branch $1
# # 切換到新建的分支
git co $1
# 顯示創建的分支,看是否已經切換成功
git branch -vv
# stage新建分支信息
git st
git add .
git commit -m "branch create "$1
# 設置依賴master分支
git b --set-upstream-to=master
# 將分支上傳到伺服器
git push origin $1
# 顯示全部伺服器分支
git b -a | grep -i $1
# 刪除緩存
echo "Create branch "$1" Success";
4. git怎麼創建分支
打開git bash
使用git branch 分支名稱創建分支,創建完成後通過git branch可以看到本地已經多出了一個新建的分支
5. 如何在Git上創建子分支
在使用Git平台時,為了不污染我們的主分支,我們一般都拷貝一個master的副本(創 建分支),然後修改副本的代碼,這樣我們一直操作的就不是 master分支,而是master分支的副本了。我們將這個副本分支稱之為」子分支」。
方法/步驟
1
點擊Git Flow 創建分支:
1. develop : 創建一個develop分支,在develop分支上進行開發
2. feature : 然後在develop上附屬創建一些特性分支,比比如我們可 以為登陸功能創建一個login分支,為注冊功能創建一個register分支, 為用戶管 理創建一個user分支,這些功能分支都屬於feature分支
3. release : 我們每次產品發布時都會將代碼更新到master上進行打 包上傳,然後更新打包代碼到release分支上,這樣就可以在以後只查 看釋放 分支來查看每次上線時產品的代碼了.
4. hotfix : 在代碼更新到master分支後,突然發現代碼中有bug,這是 我們直接創建一個熱修復分支,改完這個bug後立即更新到master分 支了.
6. Git分支的創建以及分支沖突解決
在Git中的每次提交,Git都會把它們串成一條時間線,這條時間線就是一個分支,但是到目前為止,我們只有一條分支 master 分支,也就是我們的主分支,在實際的項目開發過程中,我們並不會在 master 分支上進行開發,而是會新創建一個分支,然後在這個新創建的分支上開發測試,全部沒有問題後,再合並到主分支上。比如我要開發一個項目中的一個功能,我就要新創建一個屬於我的分支,這個分支會拷貝主分支的一個完全的副本,我在這個分支上進行的各種操作,不會對其他人的開發造成影響,當我的功能開發測試完成後,就把我的分支合並到 master 主分支上。
在我們以前看到的, git log 中, HEAD 嚴格來說不是指向提交,而是指向 master , master 才是指向提交的,所以 HEAD 指向的就是當前的分支。
使用Git進行團隊開發的過程中,Git是鼓勵大量使用分支的:
查看分支: git branch ,*的意思是當前停留在哪個分支上。
7. Git創建遠程分支
$ git branch
* master
release
$ git status
新建遠程分支
新建一個本地分支:
$ git checkout -b localbranch
查看一下現在的分支狀態:
$ git branch
星號(*)表示當前所在分支。現在的狀態是成功創建的新的分支並且已經切換到新分支上。
把新建的本地分支push到遠程伺服器,遠程分支與本地分支同名(當然可以隨意起名):
$ git push origin localbranch:localbranch
使用 git branch -a 查看所有分支,會看到 remotes/origin/localbranch 這個遠程分支,說明新建遠程分支成功。
刪除遠程分支
我比較喜歡的簡單方式,推送一個空分支到遠程分支,其實就相當於刪除遠程分支:
$ git push origin :localbranch
也可以使用:
$ git push origin --delete localbranch
這兩種方式都可以刪除指定的遠程分支
git使用文檔 - git創建遠程分支
https://www.showdoc.cc/xuliulei?page_id=1565517113560223
8. git 創建分支並推送到遠程分支
現在我在master分支上,工作目標是干凈的,也沒有需要 commit 的:
新建一個本地分支:
查看一下現在的分支狀態:
星號(*)表示當前所在分支。現在的狀態是成功創建的新的分支並且已經切換到新分支上。
把新建的本地分支push到遠程伺服器,遠程分支與本地分支同名(當然可以隨意起名):
使用 git branch -a 查看所有分支,會看到 remotes/origin/dev1.0 這個遠程分支,說明新建遠程分支成功。
我比較喜歡的簡單方式,推送一個空分支到遠程分支,其實就相當於刪除遠程分支:
也可以使用:
這兩種方式都可以刪除指定的遠程分支
在記錄一次:刪除本地分支,並重新推送遠程分支
9. 如何用git,在伺服器上面創建一個分支
1,從已有的分支創建新的分支(如從master分支),創建一個dev分支
git checkout -b dev
2,創建完可以查看一下,分支已經切換到dev
git branch
3,提交該分支到遠程倉庫
git push origin dev
4,測試從遠程獲取dev
git pull origin dev
或者:
如果用命令行,運行 git fetch,可以將遠程分支信息獲取到本地,再運行 git checkout -b local-branchname origin/remote_branchname 就可以將遠程分支映射到本地命名為local-branchname 的一分支
5,我覺得現在重要的就是設置git push,pull默認的提交獲取分支,這樣就很方便的使用git push 提交信息或git pull獲取信息
git branch --set-upstream-to=origin/dev
取消對master的跟蹤
git branch --unset-upstream master
6,現在隨便修改一下工程文件的內容,然後git commit ,git push,之後就可以直接提交到遠程的dev分支中,而不會是master