一: 兩種本地與遠端倉庫同步
"""
1)你作為專案倉庫初始化人員:
線上要建立空倉庫 => 本地初始化好倉庫 => 建立remote連結(remote add) => 提交本地倉庫到遠端(push)
2)你作為專案後期開發人員:
遠端專案倉庫已經建立成功 => 複製遠端倉庫到本地(clone) => 進入倉庫就可以進行接下來的開發
"""
1 git 遠端倉庫
1.建立一個空專案,如果選擇.gitignore和開源許可,那麼建立的建立就不是一個空倉庫,會存在:
1 .gitignore
2 LICENSE 開源許可
2.建立完成的空倉庫
提交本地版本庫操作
1.初始化
git init
2.檢視當前狀態
git status
3.提交到暫存區
git add .
4.查詢當前狀態
git status
5.提交到本地的版本庫
git commit -m '第一次提交'
提交到遠端版本庫操作
1.Git 全域性設定:
git config --global user.name "www.zhang.com"
git config --global user.email "10311112+wwwzhang-com@user.noreply.gitee.com"
# 注意: 如果郵箱設定的是別人的郵箱,那麼提交到遠端倉庫就會顯示別人的頭像與名稱
git config --global user.email "10311112+wwwzhang-com@user.noreply.gitee.com"
2.增加一個遠端倉庫地址
git remote add origin https://gitee.com/wwwzhang-com/admin_item.git
# 提示標準寫法:
git remote add 名字 遠端倉庫地址
3.查詢當前存在的遠端倉庫
git remote
5.本地版本庫內容提交到遠端倉庫
git push origin master # 把本地版本庫內容,提交到遠端倉庫,需要輸入giee的使用者名稱密碼
# 提示標準寫法:
git push 遠端倉庫名字 分支名字
6.查詢遠端倉庫
注意:本地版本庫提交到遠端倉庫使用者名稱密碼存放位置
遠端倉庫操作
1.增加
-git remote add 名字 遠端倉庫地址
2.檢視
-git remote
3.刪除
-git remote remove origin
4.提交到遠端倉庫
-git push origin master
本地倉庫與遠端倉庫提交使用(刪除與新增)
1.當pycharm刪除了一個檔案s1.py
# 當pycharm刪除了一個檔案s1.py
1.刪除或者新增都會進快取區
2.將快取區提交到本地版本庫
git commit -m '刪除s1.py'
2.本地版本庫內容提交到遠端倉庫
push origin master
3.查詢遠端倉庫
1.本地版本庫提交到遠端倉庫記錄
2.分支master提交到遠端倉庫記錄,測試,開發本地版本庫。提交到遠端倉庫。
remote源操作
"""
1)檢視倉庫已配置的遠端源
>: git remote
>: git remote -v
2)檢視remote命令幫助文件
>: git remote -h
3)刪除遠端源
>: git remote remove 源名
eg: git remote remove origin
4)新增遠端源
>: git remote add 源名 源地址
>: git remote add orgin git@gitee.com:doctor_owen/luffyapi.git
5)提交程式碼到遠端源
>: git push 原始碼 分支名
6)克隆遠端源
>: git clone 遠端源地址
"""
"""
1)透過克隆方式連線遠端源,預設遠端源名就叫origin;所以主動新增遠端源來連線遠端倉庫,原始碼也用origin
2)本地一個倉庫只需要和遠端一個源進行同步,所以只需要連線一個遠端源,如果還想把原生程式碼同步給第三個平臺,那麼可以透過主動新增遠端源來連線第三個平臺的遠端倉庫,此時的原始碼就不能再叫origin了,比如online都可以
3)pull和push都可以提供選擇不同的原始碼,和不同的遠端倉庫互動
"""
2 採用ssh協議連線遠端
連線遠端伺服器的兩種方式
1.https方式: 使用使用者名稱+密碼認證的方式
2.ssh方式: 公鑰私鑰方式
1.本地生成公鑰私鑰
2.把公鑰配置到gitee上
3.以後再提交到遠端倉庫就不需要輸入使用者名稱和密碼了
使用ssj協議連線遠端使用流程
1.cmd命令 視窗執行生成公鑰私鑰
# 本地生成一個公鑰私鑰 rsa加密方式 郵箱
ssh-keygen -t rsa -C "10311112+wwwzhang-com@qq.com"
# 生成儲存位置: C:\Users\86130/.ssh/id_rsa
生成到使用者家路徑的 .ssh資料夾下
-id_rsa # 私鑰
-id_rsa.pub # 公鑰
# 回車即可
2.把本地公鑰配置到gitee上
重寫配置遠端倉庫為ssh(以後再提交程式碼就不需要輸入使用者名稱密碼了)
# 注意: 本地sttps,git的憑據就可以刪除了
# 1.刪除之前配置的https協議的遠端倉庫
git remote remove origin
# 2.檢視當前遠端倉庫
git remote
# 3.配置ssh遠端倉庫(以後再提交程式碼就不需要輸入使用者名稱密碼了)
git remote add origin git@gitee.com:wwwzhang-com/lufy_api.git
# 4.查詢當前遠端倉庫
git remote
本地版本庫提交到遠端ssh倉庫
# 1.修改了gitignore內容(提交至快取區)
git add .
# 2.將快取區提交至版本庫
git commit -m '修改了gitignore'
# 3.將本地版本庫提交至遠端ssh倉庫
git push origin master # yes,繼續連線
3 專案創始者和專案開發者
1.如果我是專案開發者,需要把程式碼clone到本地
# 開發者
1)生成自己電腦的公鑰,配置到自己的碼雲個人公鑰中
2)把自己的碼雲使用者名稱提供給別人,別人新增你成為專案開發者
3)自己確認新增,成為開發者,克隆開發專案,進行開發
# 需求: 本地lufei專案被意外刪除了,需要從遠端倉庫克隆/下載到本地
1.https或ssh或克隆都可以,三種下載方式
# git clone https連結
git clone https://gitee.com/wwwzhang-com/lufy_api.git
下載本地成功
# 所有版本記錄都存放在.git資料夾裡面
git status
重新將程式碼提交到遠端倉庫
# 修改程式碼
1.提交至快取區
git add .
2.提交至版本庫
git commit -m '開發者最後'
3.提交至遠端倉庫
git push origin master
# 注意
1.出現輸入使用者名稱和密碼的情況,輸入即可,因為是使用https下載的
# 解決方法:
1.重新配置ssh公鑰私鑰即可
1 如果我是專案開發者,需要把程式碼clone到本地
-git clone https://gitee.com/liuqingzheng/luffy_api.git
-修改程式碼
-提交到遠端
git push origin master
2 如果我是專案創始者,需要遠端新建倉庫,原生程式碼push上去
# 創始者順序
1)生成自己電腦的公鑰(公鑰生成一次就可以了),把它提交給專案管理者
2)專案管理者新增你公鑰,加入開發者,提供給你專案克隆地址
3)克隆開發專案,進行開發
# 1.專案的創始者:
可以在專案管理-->倉庫成員管理-->開發者邀請其他成員加入--成為開發者
# 2.開發者可以進行以下步驟:
1.我是專案的開發者,把程式碼clone到本地
2.修改程式碼
3.提交到遠端
4 協同開發
1 管理員,開發者(10開發者)
-能提交程式碼(能增刪查改程式碼)
協同開發(跨版本問題)
# 協同開發(跨版本問題)
1.當開發者在開發a版本時,另兩個開發者,已經提交了兩個版本到遠端倉庫,
2.問題: 這個時候在開發a版本分支的開發者如果提交到遠端倉庫會造成版本衝突,嚴重會讓2版本和3版本被自己跨版本提交的版本覆蓋掉。
3.解決: 必須先拉取程式碼下來(讓你本地保持最新)git pull origin master,在進行提交即可
協同開發(拉取程式碼與自己相同問題)
1.可能會傳送的衝突,當我們拉取下來的程式碼與自己修改的是同一行程式碼,會傳送衝突
2.所以解決衝突,再進行提交即可
協同開發(拉取程式碼與自己相同問題)解決上述問題完整
1.衝突解決(多人在同一個分支開發,導致衝突)
"""
<<<<<<< HEAD # 衝突的開始
# 自己的程式碼
======= # 分割線
# 別人的程式碼
>>>>>>> b63c408abd05b87fc492d40523240561999dba50 # 衝突的結束(版本)
"""
# 衝突解決:
解決方案一:
1.改同樣的功能出現的衝突,看一下誰的程式碼更好,保留好程式碼,刪除不好程式碼
解決方案二:
2.改的不是同樣的功能出現了衝突,留著兩個人的
# 避免衝突
1.沒事就拉一下程式碼
5 線上分支合併
1.本地建立分支,同步到遠端
# 本地建立分支,同步到遠端
-git branch dev
-git push origin dev
本地建立分支,同步到遠端順序
1.建立dev分支
git branch dev
2.切換到dev分支
git checkout dev
3.提交至版本庫
git commit -m 'dev分支更改'
4.將本地分支dev提交到遠端的master下
git push origin dev
引入前提遠端同步本地:
## 本地:
# 1.切換到master分支
git checkout master
# 2.強刪除dev分支(因為沒有合併普通刪除不了,使用-f 強制)
git branch -d dev -f
## 遠端
1.刪除上一次使用的dev分支
2.重新建立一個新的dev分支
1.遠端建立分支,同步到本地
# 遠端建立分支,同步到本地
-git pull origin dev
-git branch # 看不到
-git checkout dev #切到dev分支,本地就能看到了
遠端建立分支,同步到本地順序
1.拉取遠端master分支(沒事拉一下防止衝突)
git pull origin master
2.檢視當前分支
git branch
3.將遠端分支dev拉取到本地
git pull origin dev # 注意因為當前dev分支什麼都沒有,所以可能git branch查詢不到,直接切換即可,在git branch就跨域看到了。
本地分支提交程式碼到遠端dev分支
1.切換到dev分支
git checkout dev
2.增加資料
3.提交到快取區
git add .
4.提交至版本庫
git commit -m '提交'
5.將本地dev分支提交至遠端dev分支
git push origin dev
5.查詢當前分支
git branch