今天小編給大家分享一下Git入門知識點有哪些的相關(guān)知識點,內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都網(wǎng)站設(shè)計、網(wǎng)站制作、企業(yè)網(wǎng)站建設(shè)、手機網(wǎng)站制作、網(wǎng)頁設(shè)計、品牌網(wǎng)站建設(shè)、網(wǎng)頁制作、做網(wǎng)站、建網(wǎng)站。創(chuàng)新互聯(lián)公司擁有實力堅強的技術(shù)研發(fā)團隊及素養(yǎng)的視覺設(shè)計專才。
版本控制(Revision control)是一種在開發(fā)的過程中用于管理我們對文件、目錄或工程等內(nèi)容的修改歷史,方便查看更改歷史記錄,備份以便恢復(fù)以前的版本的軟件工程技術(shù)。
實現(xiàn)跨區(qū)域多人協(xié)同開發(fā)
追蹤和記載一個或者多個文件的歷史記錄
組織和保護你的源代碼和文檔
統(tǒng)計工作量
并行開發(fā),提高開發(fā)效率
跟蹤記錄整個軟件的開發(fā)過程
減輕開發(fā)人員的負(fù)擔(dān),節(jié)省時間,同時降低認(rèn)為錯誤
簡單說就是用于管理多人協(xié)同開發(fā)項目的技術(shù)。
沒有進行版本控制或者版本控制本省缺乏正確的流程管理,在軟件開發(fā)過程中將會引入很多問題,如軟件代碼的一直型,軟件內(nèi)容的冗余,軟件過程的事務(wù)性,軟件開發(fā)過程的并發(fā)性,軟件源代碼的安全性,以及軟件的整合等問題。
主流的版本控制器有如下這些:
Git
SVN(Subversion)
CVS(Concurrent Visual System)
VSS(Micorosoft Visual SourceSafe)
TFS(Team Foundation Server)
Visual Studio Online
版本控制產(chǎn)品(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault),現(xiàn)在影響力最大且使用最廣泛的是Git和SVN。
記錄文件每次的更新,可以對每個版本做一個快照,或是記錄補丁文件,適合個人用,如RCS。
所有的版本數(shù)據(jù)都保存在服務(wù)器上,協(xié)同開發(fā)者從服務(wù)器上同步更新或上傳自己的修改。
所有的版本數(shù)據(jù)都存在服務(wù)器上,用戶的本地只有自己以前所同步的版本,如果不聯(lián)網(wǎng)的話,用戶就看不到歷史版本,也無法切換版本驗證問題或在不同分支工作。而且,所有數(shù)據(jù)都保存在單一的服務(wù)器上,有很大的風(fēng)險這個服務(wù)器會損壞,這樣就會丟失所有的數(shù)據(jù),當(dāng)然可以定期備份。代表產(chǎn)品:SVN、CVS、Vss。
每個分支都有全部代碼。
所有版本信息倉庫全部同步到本地的每個用戶這樣就可以在本地查看所有版本歷史可以離線在本地提交,只需在聯(lián)網(wǎng)時push到相應(yīng)的服務(wù)器或其他用戶那里。由于每個用戶哪里保存的都是所有的版本數(shù)據(jù)只要有一個用戶的設(shè)備沒有問題就可以恢復(fù)所有的數(shù)據(jù)但這增加了本地存儲空間的占用。
不會因為服務(wù)器損壞或者網(wǎng)絡(luò)問題,造成不能工作的情況。
SVN是集中式版本控制系統(tǒng),版本庫是集中放在中央服務(wù)器的,而工作的時候用的都是自己的電腦,所以首先要從中央服務(wù)器得到最新的版本,然后工作,完成工作后需要把自己昨晚的活推送到中央服務(wù)器。集中式版本控制系統(tǒng)是必須聯(lián)網(wǎng)才能工作的,對網(wǎng)絡(luò)寬帶要求較高。
GIT是分布式版本控制系統(tǒng)沒有中央服務(wù)器每個人電腦就是一個完整的版本庫,工作的時候不需要聯(lián)網(wǎng)了,因為版本都在機子電腦上。協(xié)同的方法是這樣的:比如自己在電腦上改了文件A其他人也在電腦上改了文件A,這時,你們兩之間只需要把各自的修改推送給對方,就可以互相看到對方的修改了。Git可以直接看到更新了哪些代碼和文件。
Git是目前世界上最先進的分布式版本控制系統(tǒng)。
打開Git官網(wǎng)https://git-scm.com,下載git對應(yīng)操作系統(tǒng)的版本。
所有東西下載慢的話就可以找鏡像!
Git Bash:Unix與Linux風(fēng)格的命令行,使用最多,推薦最多
Git CMD:Windows風(fēng)格的命令行
Git GUI:圖形界面的Git,不建議初學(xué)者使用,盡量ixan熟悉常用命令
cd:改變目錄
cd..回退到上一個目錄,直接cd進入默認(rèn)目錄
pwd:顯示當(dāng)前所在目錄路徑
ls(ll):都是列出當(dāng)前目錄中的所有文件只不過ll列出的內(nèi)容跟為詳細(xì)
touch:新建一個文件 如 touch index.js就會在當(dāng)前目錄下新建一個index.js文件
rm:刪除一個文件
mkdir:新建一個目錄,就是新建一個文件夾。
rm-r:刪除一個文件夾,rm-r src刪除src目錄
mv 移動文件
reset 重新初始化終端、清屏
clear清屏
history查看命令歷史
help幫助
exit退出
#表示注釋
所有的配置文件其實都保存在本地
設(shè)置用戶名和郵箱:
git config --global user.name "名稱"
git config --global user.email 22222@qq.com
git config --system --list查詢系統(tǒng)給配置的
git config --global --list查詢?nèi)峙渲?/p>
Git本地有三個工作區(qū)域:工作目錄(Working Directory)、暫存區(qū)(Stage、Index)、資源庫(Repository或Git Directory)。如果再加上遠程的git倉庫(Remote Directory)就可以分為四個工作區(qū)域。文件在這四個區(qū)域之間的轉(zhuǎn)換關(guān)系如下:
Workspace:工作區(qū),就是你平時存放項目代碼的地方
Index/Stage:暫存區(qū):用于臨時存放你的改動,事實上它只是一個文件,保存即將提交到文件列表信息
Repository:倉庫區(qū)(或本地倉庫),就是安全存放數(shù)據(jù)的位置,這里面有你提交到所有版本的數(shù)據(jù)。其中HEAD指向最新放入倉庫的版本。
Remote:遠程倉庫,托管代碼的服務(wù)器,可以簡單的認(rèn)為是你項目組中的一臺電腦用于遠程數(shù)據(jù)交換。
本地的三個區(qū)域確切的說應(yīng)該是git倉庫中HEAD指向的版本:
Directory:使用Git管理的一個目錄,也就是一個倉庫,包含我們的工作空間和Git的管理空間。
WorkSpace:需要通過Git進行版本控制的目錄和文件,這些目錄和文件組成了工作空間
.git:存放Git管理信息的目錄,初始化倉庫的時候自動創(chuàng)建。
Index/Stage:暫存區(qū),或者叫待提交更新區(qū),在提交進入repo之前,我們可以把所有的跟新放在暫存區(qū)。
Local Repo:本地倉庫,一個存放在本地的版本庫;HEAD會只是當(dāng)前的開發(fā)分支(branch)。
Stash:隱藏,是一個工作狀態(tài)保存棧,用于保存/恢復(fù)WorkSpace中的臨時狀態(tài)。
git的工作流程一般是這樣的:
1、在工作目錄中添加、修改文件;
2,將需要進行版本管理的文件放入暫存區(qū)域;
3,將暫存區(qū)域的文件提交到Git倉庫。
因此,git管理的文件有三種狀態(tài):已修改(modified),已暫存(staged),已提交(committed)。
創(chuàng)建工作目錄與常用指令
工作目錄(WorkSpace)一般就是你希望Git幫助你管理的文件夾,可以是你項目的目錄,也可以是一個空目錄,建議不要有中文。
創(chuàng)建本地倉庫的方法有兩種:一種是創(chuàng)建全新的倉庫,另一種是克隆遠程倉庫。
1.創(chuàng)建全新的倉庫,需要用GIT管理的項目的根目錄執(zhí)行:
#在當(dāng)前目錄新建一個Git代碼庫 $ git init初始化
2.執(zhí)行后可以看到,僅僅在項目目錄多出了一個.git目錄,關(guān)于版本等的所有信息都在這個目錄里面。
1、另一種方式是克隆遠程目錄,由于是將遠程服務(wù)器上的長褲完全鏡像一份至本地!
#可鏤一個項目和它的整個代碼歷史(版本信息) $ git clone [url]
2、去gitee或者github上克隆一個測試
版本控制就是對文件的版本控制,要對文件進行修改、提交等操作,首先要知道文件當(dāng)前在什么狀態(tài),不然可能會提交了現(xiàn)在還不想提交的文件,或者要提交的文件沒提交上。
Untracked:未跟蹤,此文件在文件夾中,但并沒有加入到git庫,不參與版本控制,通過git add狀態(tài)變?yōu)閟taged。
Unmodify:文件已經(jīng)入庫,未修改,即版本庫中的文件快照內(nèi)容與文件夾中完全一致,這種類型的文件有兩種去處,如果他被修改,而變?yōu)镸odified。如果使用git rm移除版本庫,則成為Untracked文件
Modified:文件已修改,僅僅是修改,并沒有進行其他的操作,這個文件也有兩個去處,通過git add可進入暫存staged狀態(tài),使用git checkout,則丟棄修改過,返回到unmodify狀態(tài),這個git checkout即從庫中取出文件,覆蓋當(dāng)前修改!
Staged:暫存狀態(tài),執(zhí)行g(shù)it commit ,則將修改同步到庫中,這時庫中的文件和本地文件又變?yōu)橐恢?,文件為Unmodify狀態(tài)。執(zhí)行g(shù)it reset HEAD filename取消暫存,文件狀態(tài)變?yōu)镸odified。
上面說文件有四種狀態(tài),通過如下命令可以查看到文件的狀態(tài):
#查看執(zhí)行文件狀態(tài) git status [filename] #查看所有文件狀態(tài) git status #添加所有文件到暫存區(qū) git add . #提交暫存區(qū)中的內(nèi)容到本地倉庫 -m提交信息 git commit -m "注釋內(nèi)容"
有些時候我們不想吧某些文件納入版本控制中,比如數(shù)據(jù)庫文件,臨時文件,設(shè)計文件等
在主目錄下建立“.gitignore”文件,此文件有如下規(guī)則:
忽略文件中的空行或以井號(#)開始的行將會被忽略。
可以使用Linux通配符。例如:星號(*)代表任意多個字符,問好(?)代表一個字符,方括號([abc])代表可選字符范圍,大括號({string1,string2})代表可選的字符串等。
如果名稱的最前面有一個感嘆號(?。?,表示例外規(guī)則,將不被忽略。
如果名稱的最前面是一個路徑分隔符(/),表示要忽略的文件在此目錄下,而子目錄中的文件不忽略。
如果名稱的最后面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非文件(默認(rèn)文件后目錄都忽略)。
#為注釋 *.txt #忽略所有 .txt結(jié)尾的文件,這樣的話上傳就不會被選中 !lib.txt #但lib.txt除外 /temp #進忽略項目根目錄下的TODO文件,不包括其他目錄temp build/ #忽略build/目錄下的所有文件 doc/*.txt #忽略doc/notes.txt 但不包括 doc/server/arch.txt
.gitignore文件內(nèi)容
#java *.class *.log *.lock #Package Files # *.jar *.war *.ear target/ # idea .idea/ *.iml *velocity.log* ### STS ### .apt_generated .factorypath .springBeans ### IntelliJ IDEA ### *.iml *.ipr *.iws .idea .classpath .project .settings/ bin/ *.log tmp/ #rebel *rebel.xml*
注冊登錄碼云,完善個人信息
設(shè)置本機保定SSH公鑰,實現(xiàn)免密碼登錄!
# 進入 C:\Userss\Administrator\.ssh 目錄 # 生成公鑰 ssh-keygen -t rsa
3.將公鑰信息public key 添加到碼云賬戶中即可!
4.使用碼云創(chuàng)建一個自己的倉庫
1.新建項目,綁定git
將遠程的git文件目錄拷貝到項目中即可或者在git同名目錄下創(chuàng)建(git文件為遠程克隆的git文件)
刷新后idea會出現(xiàn)
2、修改文件,使用IDEA操作git
添加到暫存區(qū) git add .
commit提交 git commit
push到遠程倉庫 git push
3、提交測試
git分支中常用指令
#列出所有本地分支 git branch #列出所有遠程分支 git branch -r #新建一個分支,但仍然停留在當(dāng)前分支 git branch [branch-name] #新建一個分支,并切換到該分支 git checkout -b [branch] #合并指定分支到當(dāng)前分支 git merge [branch] #刪除分支 git branch -d [branch-name] #刪除遠程分支 git push origin --delete [branch-name] git branch -dr [remote/branch]
以上就是“Git入門知識點有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學(xué)習(xí)更多的知識,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文名稱:Git入門知識點有哪些
網(wǎng)站鏈接:http://aaarwkj.com/article48/pcdhep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)建站、網(wǎng)頁設(shè)計公司、網(wǎng)站維護、建站公司、全網(wǎng)營銷推廣、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)