網(wǎng)站怎樣做優(yōu)化調(diào)整百度公司招聘崗位
學(xué)習(xí)目標(biāo)
- 能夠說出git的作用和管理源代碼的特點(diǎn)
- 能夠如何創(chuàng)建git倉庫并添加忽略文件
- 能夠使用add、commit、push、pull等命令實(shí)現(xiàn)源代碼管理
- 能夠使用github遠(yuǎn)程倉庫托管源代碼
- 能夠說出代碼沖突原因和解決辦法
- 能夠說出 git 標(biāo)簽的作用
- 能夠使用使用git實(shí)現(xiàn)分支創(chuàng)建,合并操作
一、git簡介
Git 是目前世界上最先進(jìn)的分布式版本控制系統(tǒng)
作用:源代碼管理,源代碼管理方便多人協(xié)同開發(fā)和方便版本控制
Git的誕生
- 作者是 Linux 之父:Linus Benedict Torvalds
- 當(dāng)初開發(fā) Git 僅僅是為了輔助 Linux 內(nèi)核的開發(fā)(管理源代碼)
git 開發(fā)時(shí)間表
- git 的產(chǎn)生是 Linux Torvals 在無奈被逼的情況下創(chuàng)造的,時(shí)間歷程:
- 2005 年 4 月3 日開始開發(fā) git
- 2005 年 4 月 6 日項(xiàng)目發(fā)布
- 2005 年 4 月 7 日 Git 開始作為自身的版本控制工具
- 2005 年 4 月 18 日發(fā)生第一個(gè)多分支合并
- 2005 年 4 月 29 日 Git 的性能達(dá)到 Linux 預(yù)期
- 2005年 7 月 26 日 Linux 功成身退,將 Git 維護(hù)權(quán)交給 Git 另一個(gè)主要貢獻(xiàn)者 Junio C Hamano,直到現(xiàn)在
Git 迅速成為最流行的分布式版本控制系統(tǒng),尤其是 2008 年,GitHub 網(wǎng)站上線了,它為開源項(xiàng)目免費(fèi)提供 Git 存儲(chǔ),無數(shù)開源項(xiàng)目開始遷移至 GitHub,包括 jQuery,PHP,Ruby 等等
Git管理源代碼特點(diǎn)
-
1.
Git
是分布式管理.服務(wù)器和客戶端都有版本控制能力,都能進(jìn)行代碼的提交、合并、... -
2.
Git
會(huì)在根目錄下創(chuàng)建一個(gè).git
隱藏文件夾,作為本地代碼倉庫 -
Git操作流程圖解
Git服務(wù)器 --> 本地倉庫 --> 客戶端 --> 本地倉庫 --> Git服務(wù)器
?二、工作區(qū)暫存區(qū)和倉庫區(qū)
工作區(qū)
- 對(duì)于
添加
、修改
、刪除
文件的操作,都發(fā)生在工作區(qū)中
暫存區(qū)
- 暫存區(qū)指將工作區(qū)中的操作完成小階段的存儲(chǔ),是版本庫的一部分
倉庫區(qū)
- 倉庫區(qū)表示個(gè)人開發(fā)的一個(gè)小階段的完成
- 倉庫區(qū)中記錄的各版本是可以查看并回退的
- 但是在暫存區(qū)的版本一旦提交就再也沒有了
三、Git單人本地倉庫操作
- 課程目標(biāo):學(xué)習(xí)常用的Git終端命令
- 提示:本地倉庫是個(gè)
.git
隱藏文件
以下為演示Git單人本地倉庫操作
-
1.git安裝,已安裝
-
2.查看git安裝結(jié)果
git
-
-
3.創(chuàng)建項(xiàng)目
-
創(chuàng)建
test
文件夾,表示是工作項(xiàng)目E:\downloads\study\FL_code\GitStudy\test
-
4.創(chuàng)建本地倉庫
- 進(jìn)入到
test
,并創(chuàng)建本地倉庫.git
-
新創(chuàng)建的本地倉庫
.git
是個(gè)空倉庫cd testgit init
3.創(chuàng)建本地倉庫.git
后
5.配置個(gè)人信息
git config user.name '張三'git config user.email 'zhangsan@qq.com'
6.新建py文件
-
在項(xiàng)目文件
test
里面創(chuàng)建login.py
文件,用于版本控制演示
7.查看文件狀態(tài)
- 紅色表示新建文件或者新修改的文件,都在工作區(qū).
- 綠色表示文件在暫存區(qū)
-
新建的
login.py
文件在工作區(qū),需要添加到暫存區(qū)并提交到倉庫區(qū)git status
8.將工作區(qū)文件添加到暫存區(qū)
# 添加項(xiàng)目中所有文件git add .或者# 添加指定文件git add login.py
9.將暫存區(qū)文件提交到倉庫區(qū)
commit
會(huì)生成一條版本記錄-
-m
后面是版本描述信息git commit -m '版本描述'
10.接下來就可以在login.py
文件中編輯代碼
- 代碼編輯完成后即可進(jìn)行
add
和commit
操作 -
提示:添加和提交合并命令
git commit -am "版本描述"
-
提交兩次代碼,會(huì)有兩個(gè)版本記錄
11.查看歷史版本
git log或者git reflog
git reflog 可以查看所有分支的所有操作記錄(包括commit和reset的操作),包括已經(jīng)被刪除的commit記錄,git log 則不能察看已經(jīng)刪除了的commit記錄
12.回退版本
-
方案一:
HEAD
表示當(dāng)前最新版本HEAD^
表示當(dāng)前最新版本的前一個(gè)版本HEAD^^
表示當(dāng)前最新版本的前兩個(gè)版本,以此類推...HEAD~1
表示當(dāng)前最新版本的前一個(gè)版本-
HEAD~10
表示當(dāng)前最新版本的前10個(gè)版本,以此類推...git reset --hard HEAD^
?
方案二:當(dāng)版本非常多時(shí)可選擇的方案
-
通過每個(gè)版本的版本號(hào)回退到指定版本
git reset --hard 版本號(hào)
13.撤銷修改
- 只能撤銷工作區(qū)、暫存區(qū)的代碼,不能撤銷倉庫區(qū)的代碼
-
撤銷倉庫區(qū)的代碼就相當(dāng)于回退版本操作
-
撤銷工作區(qū)代碼
-
新加代碼
num3 = 30
,不add
到暫存區(qū),保留在工作區(qū)git checkout 文件名
-
-
撤銷暫存區(qū)代碼
-
新加代碼
num3 = 30
,并add
到暫存區(qū)# 第一步:將暫存區(qū)代碼撤銷到工作區(qū) git reset HEAD 文件名 # 第二步:撤銷工作區(qū)代碼 git checkout 文件名
四、Git遠(yuǎn)程倉庫Github
提示:Github網(wǎng)站作為遠(yuǎn)程代碼倉庫時(shí)的操作和本地代碼倉庫一樣的,只是倉庫位置不同而已!
- 準(zhǔn)備Git源代碼倉庫?
https://github.com/
- 準(zhǔn)備經(jīng)理的文件?
Desktop/manager/
- 準(zhǔn)備張三的文件?
Desktop/zhangsan/
4.1?創(chuàng)建遠(yuǎn)程倉庫
以下操作為演示在Github網(wǎng)站上創(chuàng)建遠(yuǎn)程倉庫
-
1.登陸注冊(cè)Github
-
2.創(chuàng)建倉庫入口
-
3.編輯倉庫信息
-
4.倉庫創(chuàng)建完成
5.查看倉庫地址
4.2 配置SSH
選擇SSH操作
-
如果某臺(tái)電腦需要與
Github
上的倉庫交互,那么就要把這臺(tái)電腦的SSH公鑰添加到這個(gè)Github
賬戶上 -
1.配置SSH公鑰入口
2.生成SSH公鑰
ssh-keygen -t rsa -C "xiongsqiang@qq.com"
-
3.配置SSH公鑰
-
補(bǔ)充:刪除舊的秘鑰
- 刪除
~/.ssh
目錄,這里存儲(chǔ)了舊的密鑰
rm -r .ssh
- 刪除
SSH操作報(bào)錯(cuò)
解決方案為
eval "$(ssh-agent -s)"
ssh-add
4.3 克隆項(xiàng)目
- 準(zhǔn)備經(jīng)理的文件E:\downloads\study\FL_code\GitStudy\manager
- 準(zhǔn)備張三的文件?
E:\downloads\study\FL_code\GitStudy\zhangsan
經(jīng)理的工作
-
立項(xiàng):克隆遠(yuǎn)程倉庫+配置身份信息+創(chuàng)建項(xiàng)目+推送項(xiàng)目到遠(yuǎn)程倉庫
-
1.克隆遠(yuǎn)程倉庫的命令
cd E:\downloads\study\FL_code\GitStudy\managergit clone git@github.com:xsq13579/info.git
-
2.克隆遠(yuǎn)程倉庫到本地
3.克隆成功后查看經(jīng)理的文件
4.配置經(jīng)理身份信息
cd E:\downloads\study\FL_code\GitStudy\manager\infogit config user.name '經(jīng)理'git config user.email 'xiongsqiang@qq.com'
5.創(chuàng)建項(xiàng)目
創(chuàng)建項(xiàng)目文件,里面有l(wèi)ogin.py文件
-
6.推送項(xiàng)目到遠(yuǎn)程倉庫
# 工作區(qū)添加到暫存區(qū)git add .# 暫存區(qū)提交到倉庫區(qū)git commit -m '立項(xiàng)'# 推送到遠(yuǎn)程倉庫git push
-
在 push 的時(shí)候需要設(shè)置賬號(hào)與密碼,該密碼則是 github 的賬號(hào)與密碼
-
如果在每次 push 都需要設(shè)置賬號(hào)與密碼,那么可以設(shè)置記住密碼
設(shè)置記住密碼(默認(rèn)15分鐘): git config --global credential.helper cache 如果想自己設(shè)置時(shí)間,可以這樣做(1小時(shí)后失效): git config credential.helper 'cache --timeout=3600' 長期存儲(chǔ)密碼: git config --global credential.helper store
在以后的項(xiàng)目開發(fā)過程中,Pycharm 可以自動(dòng)記住密碼
-
張三的工作
-
獲取項(xiàng)目:克隆項(xiàng)目到本地、配置身份信息
-
1.克隆項(xiàng)目到本地
cd E:\downloads\study\FL_code\GitStudy\zhangsangit clone https://github.com/xsq13579/info.git
2.克隆成功后查看張三的文件
-
3.配置張三身份信息
cd E:\downloads\study\FL_code\GitStudy\zhangsan\infogit config user.name '張三'git config user.email 'xiongsqiang@qq.com'
張三身份信息配置成功后即可跟經(jīng)理協(xié)同開發(fā)同一個(gè)項(xiàng)目
學(xué)習(xí)導(dǎo)航:http://www.xqnav.top?