Python開發學習筆記(17)————Git版本控制

git

1.git基本

分佈式版本管理系統

1)特點

版本管理,可以解決多人同時開發的代碼問題,也可以解決找回歷史代碼的問題。
分佈式:同一個Git倉庫,可以分佈到不同的機器上。

2)創建版本庫

1>創建一個目錄,在目錄下創建版本庫,命令: git init
2>創建版本
a 在創建的目錄下,創建一個文件code.txt
b 使用命令創建一個版本

git add code.txt
git commit -m '版本1'

c 使用如下命令查看版本記錄

git log

d 回到某一個版本,命令:

git reset –hard HEAD^

HEAD^表示回到前一個版本,HEAD^^表示回到前前個版本
HEAD-1表示前1個版本,HEAD-100表示前100個版本

3>工作區和暫存區

a 工作區
電腦中的目錄
b 暫存區
工作區有一個隱藏目錄 .git目錄,是git的版本庫
版本庫中stage,即爲暫存區
git add 把文件修改添加到暫存區
git commit 把文件提交修改,把暫存區內容提交到版本分支
git status 查看當前工作狀態,可以顯示修改了哪些文件,有哪些文件未提交

4>撤銷修改

未到暫存區,git checkout – 文件名 丟棄工作區的修改
已經到暫存區,git reset HEAD 文件名 即可取消暫存,然後用上面的命令即可撤銷修改
已經保存版本,可以參考上面的版本回退

5>對比文件不同

命令:

git diff HEAD –- 文件名

輸入命令後,顯示的內容中,-代表HEAD版本中文件的內容,+代表工作區文件的內容

6>對比兩個文件不同
git diff HEAD HEAD^ -- 文件名

現版本和前一個版本的不同

7>刪除文件
rm 文件名
git rm 文件名

確認刪除就 git commit
回退就 git reset HEAD 文件名

2.git分支

1)基本操作

1>主分支 master分支,HEAD指向master,master指向最新版本
2>當創建新的分支,git創建一個指針叫dev,指向master相同的提交,再把HEAD指向dev,就表示當前分支在dev上
3>此時,工作區的修改和提交就是針對dev分支了,如有新的提交,dev指針向前一步,master指針不動
4>如果dev上的工作完成,進行合併。把master指向dev的當前提交,完成合並。
5>刪除dev指針,HEAD指向master

命令:git branch查看分支
創建分支:git checkout -b dev 切換到新的分支dev
編輯完之後,切換回master:git checkout master
合併:git merge dev
刪除分支:git branch -d dev

2)解決衝突

master分支和dev分支都發生了更新時的合併。
手動解決衝突之後,重新提交即可。

3)分支管理策略

通常git採用快速合併模式,但是有些快速合併並不能成而且合併時沒有衝突,這個時候會合並之後並做一次新的提交。
禁用快速合併:git merge –-no-ff -m ‘備註‘ 分支名

4)bug分支

git提供了一個stash功能,可以把當前工作現場儲藏起來,等以後恢復現場後繼續工作
git stash即可保存現場
之後可以去修復bug
bug修復後,通過禁用快速合併方式與master進行合併
之後回到dev分支幹活:git stash list 列出工作現場
git stash pop 恢復工作現場

3.github

1)創建倉庫

點擊 New repository
add .gitignore 可以忽略的文件

2)添加ssh賬戶

點擊頭像下的settings,輸入shh公鑰

生成ssh公鑰方法:
在用戶主目錄下,編輯文件:.gitconfig 修改git配置,修改爲註冊github的郵箱和用戶名
使用命令生成ssh公鑰:ssh-keygen -t rsa -C ‘註冊郵箱‘

3)克隆項目

進入github主頁的項目倉庫頁面
複製git地址
在電腦上 git clone 粘貼git地址
克隆出錯時,輸入下面兩條命令:

eval ‘$(ssh-agent -s)’
ssh-add

4)推送代碼

推送分支

git push origin 分支名稱

本地分支跟蹤服務器分支:

git branch –-set-upstream-to=origin/遠程分支名稱 本地分支名稱

從遠程分支拉取代碼

git pull origin 分支名稱
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章