- 本地建立一個空文件夾,然後git clone 遠程地址,可以拉取遠程master的所有項目至本地
- git branch 用來查看分支信息,git branch -a查看所有分支(包括遠程remote)
$ git branch
* master
$ git branch -a
* master
remotes/origin/HEAD -> origin/master
remotes/origin/Isaac
remotes/origin/align
remotes/origin/color_transfer
remotes/origin/dev_Br20190103
remotes/origin/dev_yx
*表示當前所在的分支,remotes表示遠程分支
另外,還可以通過 git status查看當前所有分支
$ git status
On branch size_expand
nothing to commit, working tree clean
一、git創建本地分支
$ git checkout -b 本地分支名
表示創建本地分支並切換到新建分支,等價於以下兩行:
1.創建本地分支:git branch 本地分支名
2.切換到新建的分支:git checkout 本地分支名
使用git branch看到已經切換到新建的本地分支了:
$ git branch
master
* size_expand
若發現git branch之後內容爲空,則需要將需要git的文件內容添加至倉庫
$git add *
二、將本地分支關聯到遠程分支
$ git push origin 本地分支名:遠程分支名
注: push之後纔可以pull
如果直接用$ git push origin 本地分支名,則默認和遠程分支同名
這個時候,遠程的分支已建立了。
三、刪除分支
刪除本地分支:
$git branch -d 本地分支名
刪除新建的遠程分支`在這裏插入代碼片`
$ git branch -r -d origin/遠程分支名
或者
$ git push origin :遠程分支名
第二種push爲空,相當於刪除該分支
四、合併分支
checkout 切換到master, 然後將所需的分支併入。注意:切換過程中,暫緩區或工作目錄存在未提交的修改,可能會造成衝突的發生,所以儘量保持工作區的清潔。
$ git checkout master
$ git merge 分支名
拉取遠程分支到本地
1、創建本地倉庫
$git init
2.與遠程倉庫取得關聯
$ git remote add origin 遠程主地址
3.拉取遠程分支
$ git fetch origin 遠程分支名
4.在本地創分支dev並切換到該分支
$git checkout -b 本地分支名 origin/遠程分支名
本地新建空分支並更新至遠程
1.將自己的代碼目錄放至一個空文件夾下,在同級目錄下執行
$ git init
2.創建本地分支
$git checkout -b 分支名
3.將代碼添加至暫存區
$ git add *
4.將緩存區內容添加至本地倉庫
$ git commit -m '註釋'
5.與遠程倉庫取得關聯
$ git remote add origin 遠程主地址
6.將本地版本庫推送至遠程服務器
$ git push origin 本地分支:遠程分支
將本地更新的內容更新到遠程
1.先判斷本地的master分支是不是遠程的master的最新內容,即先拉取遠程master到本地
$ git pull------------ 拉取最新的master分支到本地
2.切換到本地的分支,將master的內容merge到本地分支,在本地分支修改內容(內容會自動同步到到本地master)。將當前目錄下修改的所有代碼從工作區添加到暫存區 . 代表當前目錄
$ git checkout 本地分支名
$ git merge master --------將更新的master的內容更新到本地分支
$ git add .
2.將緩存區內容添加到本地倉庫
$git commit -m "註釋"
3.將本地版本庫推送到遠程服務器
$ git push origin 本地分支:遠程分支
git衝突
用git pull來更新代碼的時候,遇到了下面的問題:
error: Your local changes to the following files would be overwritten by merge:
***/***/***.py
Please, commit your changes or stash them before you can merge.
Aborting
出現這個問題的原因是其他人修改了**.py並提交到版本庫中去了,而你本地也修改了xxx.py,這時候你進行git pull操作就好出現衝突了,解決方法,在上面的提示中也說的很明確了。
1、保留本地的修改 的改法
1)直接commit本地的修改 ----一般不用這種方法
2)通過git stash ---- 通常用這種方法
$ git stash
$ git pull
$ git stash pop
通過git stash將工作區恢復到上次提交的內容,同時備份本地所做的修改
之後就可以正常git pull了
git pull完成後,執行git stash pop將之前本地做的修改應用到當前工作區。
git stash: 備份當前的工作區的內容,從最近的一次提交中讀取相關內容,讓工作區保證和上次提交的內容一致。同時,將當前的工作區內容保存到Git棧中。
git stash pop: 從Git棧中讀取最近一次保存的內容,恢復工作區的相關內容。由於可能存在多個Stash的內容,所以用棧來管理,pop會從最近的一個stash中讀取內容並恢復。
git stash list: 顯示Git棧內的所有備份,可以利用這個列表來決定從那個地方恢復。
git stash clear: 清空Git棧。此時使用gitg等圖形化工具會發現,原來stash的哪些節點都消失了。
2、放棄本地修改 的改法 ----這種方法會丟棄本地修改的代碼,而且不可找回
$ git reset --hard
$ git pull
參考文章:
https://blog.csdn.net/LZbethelight/article/details/84072236
https://www.cnblogs.com/wenlj/p/5866356.html