git——版本控制及衝突解決
阿新 • • 發佈:2020-07-28
協同開發,版本管理 svn(集中式管理),git(分散式管理) 遠端倉庫:github,碼雲,公司內部(gitlab) 配置資訊 全域性 git config --global user.email "[email protected]" git config --global user.name "lqz" git config user.email "[email protected]" git config user.name "egon" -工作區,暫存區,版本庫 -git init # 初始化,生成一個.git 的資料夾 -git stauts # 檢視狀態(紅色和綠色),必須全綠再提交到版本庫 -git add . # 提交到暫存區 git add a.txt -git commit -m '註釋' # 從暫存區提交到版本庫 -git checkout . # 把工作區的內容恢復到版本庫中最新的版本 -git reset . # 把暫存區的東西拉回到工作區(原來是綠的變紅了) # 紅色表示未被管理 # 綠色表示提交到暫存區 -git reset --hard 版本號 # 回退到某個版本 -git log # 檢視版本管理的日誌 -git reflog # 檢視日誌,條數更多,內容更少 分支 -git branch # 檢視所有分支,如果分支是綠色,表示是當前分支 -git branch 分支名 # 建立分支 -git chekout dev # 切換到dev分支 -git chekout -b dev2 # 建立並切換到dev2分支 -git branch -d dev2 # 刪除dev2分支,不能再這個分支上 -git merge dev # 你必須再其他分支(master),合併dev 忽略檔案 -空資料夾不被管理 -指定某些檔案或者資料夾不被git管理 -在專案根路徑,跟.git資料夾一個路徑,新建.gitignore.,在裡面配置 - 語法: # 號是註釋,沒有用 資料夾名字,表示資料夾忽略,不被管理 /dist 表示根路徑下的dist資料夾,不被管理 *.py 表示字尾名為py的檔案,都被忽略 *.log*
git:
1 git初始化,提交內容,遠端連線
git init 初始化一個本地資料夾為git管理的庫 git add a.txt 提交到暫存區 git commit -m "first commit" 提交到版本庫 git remote 檢視有哪些連線 git remote add origin https://gitee.com/liuqingzheng/lqz_test.git 建立遠端連線 git push origin master 將修改 提交到 origin連線的 master分支上
ssh連線和https連線
# 1 公司內部大部分用ssh連線
ssh配置,不用輸密碼
# 2 配置如何做
公鑰和私鑰 使用者家目錄的.ssh資料夾下(一個公鑰,一個私鑰)
生成祕鑰,如果沒有-ssh-keygen -t rsa -C "[email protected]"
把公鑰複製出來,在碼雲上配置
對稱加密和非對稱加密
-對稱加密(加密和解密用同一套祕密,共享祕鑰)
-非對稱加密(公鑰和私鑰),公鑰加密,私鑰解密
2 git開發者
1 將庫的程式碼clone下來,得到管理的庫,完整的 版本 和 日誌控制 git clone https://gitee.com/liuqingzheng/lqz_test.git 回覆到任意版本 git rest --hard 版本號 git checkout . 回到指標指向的版本,因為已經用git rest --hard把指標移動了,所以checkout .就是當前版本 2 pull程式碼,更新資料夾為最新的 git pull origin master 3 push程式碼,每次push程式碼,一定要先pull,再push,可能有衝突 # 跟遠端操作有三個命令 git pull git push -git feacth(一般不用,他跟pull是一個東西,當作不知道)
pycharm操作git
在pycharm中操作git時,首先要在pycharm中配置,setting---》git--->git.exe的地址
git clone
出現衝突解決
pull程式碼出現衝突 提交程式碼
git pull origin master 拉下遠端程式碼,兩個人修改了同一個位置,會衝突
<<<<<<< HEAD
你的程式碼
=======
別人程式碼
>>>>>>> origin/master
處理方案
-刪除自己的程式碼
-刪除別人的程式碼
-合併程式碼
合併分支衝突 手動線下合併程式碼並提交到遠端
-git checkout master
-git merge dev
-如果出衝突,解決
-git add .
-git commit
-git push
-解決衝突(刪你的,同事的,合併起來)
-git add . git commit
3 線下回滾,並提交
# 1 切換到master分支
# 2 回滾打某個版本 git reset --hard 版本號
# 3 強制提交程式碼 git push origin master -f
1 pycharm找回誤刪,修改的東西
history
2 git的變基
git rebase