成人怡红院-成人怡红院视频在线观看-成人影视大全-成人影院203nnxyz-美女毛片在线看-美女免费黄

站長資訊網
最全最豐富的資訊網站

三十分鐘帶你Git入門(整理總結)

本篇文章給大家?guī)砹岁P于git入門的相關知識,其中包括了環(huán)境配置、基本理論、項目搭建以及文件操作等相關問題,希望對大家有幫助。

三十分鐘帶你Git入門(整理總結)

推薦學習:《Git入門教程》

版本控制

什么是版本控制(版本迭代,新的版本!版本管理器)

版本控制(Revision control)是一種在開發(fā)的過程中用于管理我們對文件、目錄或工程等內容的修改歷史,方便查看更改歷史記錄,備份以便恢復以前的版本的軟件工程技術。

  • 實現(xiàn)跨區(qū)域多人協(xié)同開發(fā)
  • 追蹤和記載一個或者多個文件的歷史記錄
  • 組織和保護你的源代碼和文檔
  • 統(tǒng)計工作量
  • 并行開發(fā),提高開發(fā)效率
  • 跟蹤記錄整個軟件的開發(fā)過程
  • 減輕開發(fā)人員的負擔,節(jié)省時間,同時降低認為錯誤

簡單說就是用于管理多人協(xié)同開發(fā)項目的技術。

沒有進行版本控制或者版本控制本省缺乏正確的流程管理,在軟件開發(fā)過程中將會引入很多問題,如軟件代碼的一直型,軟件內容的冗余,軟件過程的事務性,軟件開發(fā)過程的并發(fā)性,軟件源代碼的安全性,以及軟件的整合等問題。

常見的版本控制工具

主流的版本控制器有如下這些:

  • Git
  • SVN(Subversion)
  • CVS(Concurrent Visual System)
  • VSS(Micorosoft Visual SourceSafe)
  • TFS(Team Foundation Server)
  • Visual Studio Online

版本控制產品(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault),現(xiàn)在影響力最大且使用最廣泛的是Git和SVN。

1.本地版本控制

記錄文件每次的更新,可以對每個版本做一個快照,或是記錄補丁文件,適合個人用,如RCS。

2.集中版本控制 SVN

所有的版本數(shù)據(jù)都保存在服務器上,協(xié)同開發(fā)者從服務器上同步更新或上傳自己的修改。

所有的版本數(shù)據(jù)都存在服務器上,用戶的本地只有自己以前所同步的版本,如果不聯(lián)網的話,用戶就看不到歷史版本,也無法切換版本驗證問題或在不同分支工作。而且,所有數(shù)據(jù)都保存在單一的服務器上,有很大的風險這個服務器會損壞,這樣就會丟失所有的數(shù)據(jù),當然可以定期備份。代表產品:SVN、CVS、Vss。

3.分布式版本控制 GIT

每個分支都有全部代碼。

所有版本信息倉庫全部同步到本地的每個用戶這樣就可以在本地查看所有版本歷史可以離線在本地提交,只需在聯(lián)網時push到相應的服務器或其他用戶那里。由于每個用戶哪里保存的都是所有的版本數(shù)據(jù)只要有一個用戶的設備沒有問題就可以恢復所有的數(shù)據(jù)但這增加了本地存儲空間的占用。

不會因為服務器損壞或者網絡問題,造成不能工作的情況。

4.Git和SVN最主要的區(qū)別

SVN是集中式版本控制系統(tǒng),版本庫是集中放在中央服務器的,而工作的時候用的都是自己的電腦,所以首先要從中央服務器得到最新的版本,然后工作,完成工作后需要把自己昨晚的活推送到中央服務器。集中式版本控制系統(tǒng)是必須聯(lián)網才能工作的,對網絡寬帶要求較高。

GIT是分布式版本控制系統(tǒng)沒有中央服務器每個人電腦就是一個完整的版本庫,工作的時候不需要聯(lián)網了,因為版本都在機子電腦上。協(xié)同的方法是這樣的:比如自己在電腦上改了文件A其他人也在電腦上改了文件A,這時,你們兩之間只需要把各自的修改推送給對方,就可以互相看到對方的修改了。Git可以直接看到更新了哪些代碼和文件。

Git是目前世界上最先進的分布式版本控制系統(tǒng)。

Git環(huán)境配置

打開Git官網https://git-scm.com,下載git對應操作系統(tǒng)的版本。

所有東西下載慢的話就可以找鏡像!

官網下載太慢,可以使用淘寶鏡像下載:http://npm.taobao.org/mirrors/git-for-windows/

啟動Git

Git Bash:Unix與Linux風格的命令行,使用最多,推薦最多

Git CMD:Windows風格的命令行

Git GUI:圖形界面的Git,不建議初學者使用,盡量ixan熟悉常用命令

基本的Linux命令學習

cd:改變目錄

cd..回退到上一個目錄,直接cd進入默認目錄

pwd:顯示當前所在目錄路徑

ls(ll):都是列出當前目錄中的所有文件只不過ll列出的內容跟為詳細

touch:新建一個文件 如 touch index.js就會在當前目錄下新建一個index.js文件

rm:刪除一個文件

mkdir:新建一個目錄,就是新建一個文件夾。

rm-r:刪除一個文件夾,rm-r src刪除src目錄

mv 移動文件

reset 重新初始化終端、清屏

clear清屏

history查看命令歷史

help幫助

exit退出

#表示注釋

Git配置

所有的配置文件其實都保存在本地

設置用戶名和郵箱:

git config –global user.name "名稱"

git config –global user.email 22222@qq.com

git config –system –list查詢系統(tǒng)給配置的

git config –global –list查詢全局配置

Git基本理論

Git本地有三個工作區(qū)域:工作目錄(Working Directory)、暫存區(qū)(Stage、Index)、資源庫(Repository或Git Directory)。如果再加上遠程的git倉庫(Remote Directory)就可以分為四個工作區(qū)域。文件在這四個區(qū)域之間的轉換關系如下:

三十分鐘帶你Git入門(整理總結)

  • Workspace:工作區(qū),就是你平時存放項目代碼的地方
  • Index/Stage:暫存區(qū):用于臨時存放你的改動,事實上它只是一個文件,保存即將提交到文件列表信息
  • Repository:倉庫區(qū)(或本地倉庫),就是安全存放數(shù)據(jù)的位置,這里面有你提交到所有版本的數(shù)據(jù)。其中HEAD指向最新放入倉庫的版本。
  • Remote:遠程倉庫,托管代碼的服務器,可以簡單的認為是你項目組中的一臺電腦用于遠程數(shù)據(jù)交換。

本地的三個區(qū)域確切的說應該是git倉庫中HEAD指向的版本:

三十分鐘帶你Git入門(整理總結)

  • Directory:使用Git管理的一個目錄,也就是一個倉庫,包含我們的工作空間和Git的管理空間。
  • WorkSpace:需要通過Git進行版本控制的目錄和文件,這些目錄和文件組成了工作空間
  • .git:存放Git管理信息的目錄,初始化倉庫的時候自動創(chuàng)建。
  • Index/Stage:暫存區(qū),或者叫待提交更新區(qū),在提交進入repo之前,我們可以把所有的跟新放在暫存區(qū)。
  • Local Repo:本地倉庫,一個存放在本地的版本庫;HEAD會只是當前的開發(fā)分支(branch)。
  • Stash:隱藏,是一個工作狀態(tài)保存棧,用于保存/恢復WorkSpace中的臨時狀態(tài)。

工作流程

git的工作流程一般是這樣的:

1、在工作目錄中添加、修改文件;

2,將需要進行版本管理的文件放入暫存區(qū)域;

3,將暫存區(qū)域的文件提交到Git倉庫。

因此,git管理的文件有三種狀態(tài):已修改(modified),已暫存(staged),已提交(committed)。

三十分鐘帶你Git入門(整理總結)

Git項目搭建

創(chuàng)建工作目錄與常用指令

工作目錄(WorkSpace)一般就是你希望Git幫助你管理的文件夾,可以是你項目的目錄,也可以是一個空目錄,建議不要有中文。

日常使用只要記住下圖6個命令:

三十分鐘帶你Git入門(整理總結)

本地倉庫搭建:

創(chuàng)建本地倉庫的方法有兩種:一種是創(chuàng)建全新的倉庫,另一種是克隆遠程倉庫。

1.創(chuàng)建全新的倉庫,需要用GIT管理的項目的根目錄執(zhí)行:

#在當前目錄新建一個Git代碼庫 $ git init初始化

2.執(zhí)行后可以看到,僅僅在項目目錄多出了一個.git目錄,關于版本等的所有信息都在這個目錄里面。

克隆遠程倉庫

1、另一種方式是克隆遠程目錄,由于是將遠程服務器上的長褲完全鏡像一份至本地!

#可鏤一個項目和它的整個代碼歷史(版本信息) $ git clone [url]

2、去gitee或者github上克隆一個測試

Git文件操作

文件4種狀態(tài)

版本控制就是對文件的版本控制,要對文件進行修改、提交等操作,首先要知道文件當前在什么狀態(tài),不然可能會提交了現(xiàn)在還不想提交的文件,或者要提交的文件沒提交上。

  • Untracked:未跟蹤,此文件在文件夾中,但并沒有加入到git庫,不參與版本控制,通過git add狀態(tài)變?yōu)閟taged。
  • Unmodify:文件已經入庫,未修改,即版本庫中的文件快照內容與文件夾中完全一致,這種類型的文件有兩種去處,如果他被修改,而變?yōu)镸odified。如果使用git rm移除版本庫,則成為Untracked文件
  • Modified:文件已修改,僅僅是修改,并沒有進行其他的操作,這個文件也有兩個去處,通過git add可進入暫存staged狀態(tài),使用git checkout,則丟棄修改過,返回到unmodify狀態(tài),這個git checkout即從庫中取出文件,覆蓋當前修改!
  • Staged:暫存狀態(tài),執(zhí)行git commit ,則將修改同步到庫中,這時庫中的文件和本地文件又變?yōu)橐恢拢募閁nmodify狀態(tài)。執(zhí)行git reset HEAD filename取消暫存,文件狀態(tài)變?yōu)镸odified。

查看文件狀態(tài)

上面說文件有四種狀態(tài),通過如下命令可以查看到文件的狀態(tài):

#查看執(zhí)行文件狀態(tài) git status [filename] #查看所有文件狀態(tài) git status #添加所有文件到暫存區(qū) git add . #提交暫存區(qū)中的內容到本地倉庫 -m提交信息 git commit -m "注釋內容"

忽略文件

有些時候我們不想吧某些文件納入版本控制中,比如數(shù)據(jù)庫文件,臨時文件,設計文件等

在主目錄下建立“.gitignore”文件,此文件有如下規(guī)則:

  1. 忽略文件中的空行或以井號(#)開始的行將會被忽略。
  2. 可以使用Linux通配符。例如:星號(*)代表任意多個字符,問好(?)代表一個字符,方括號([abc])代表可選字符范圍,大括號({string1,string2})代表可選的字符串等。
  3. 如果名稱的最前面有一個感嘆號(!),表示例外規(guī)則,將不被忽略。
  4. 如果名稱的最前面是一個路徑分隔符(/),表示要忽略的文件在此目錄下,而子目錄中的文件不忽略。
  5. 如果名稱的最后面是一個路徑分隔符(/),表示要忽略的是此目錄下該名稱的子目錄,而非文件(默認文件后目錄都忽略)。
#為注釋 *.txt        #忽略所有 .txt結尾的文件,這樣的話上傳就不會被選中 !lib.txt    #但lib.txt除外 /temp        #進忽略項目根目錄下的TODO文件,不包括其他目錄temp build/       #忽略build/目錄下的所有文件 doc/*.txt    #忽略doc/notes.txt 但不包括 doc/server/arch.txt

.gitignore文件內容

#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*

使用碼云

  1. 注冊登錄碼云,完善個人信息
  2. 設置本機保定SSH公鑰,實現(xiàn)免密碼登錄!
# 進入 C:UserssAdministrator.ssh 目錄 # 生成公鑰 ssh-keygen -t rsa

3.將公鑰信息public key 添加到碼云賬戶中即可!

4.使用碼云創(chuàng)建一個自己的倉庫

IDEA中集成Git

1.新建項目,綁定git

將遠程的git文件目錄拷貝到項目中即可或者在git同名目錄下創(chuàng)建(git文件為遠程克隆的git文件)

三十分鐘帶你Git入門(整理總結)

刷新后idea會出現(xiàn)

三十分鐘帶你Git入門(整理總結)

2、修改文件,使用IDEA操作git

  • 添加到暫存區(qū) git add .
  • commit提交 git commit
  • push到遠程倉庫 git push

3、提交測試

三十分鐘帶你Git入門(整理總結)

Git分支

git分支中常用指令

#列出所有本地分支 git branch #列出所有遠程分支 git branch -r #新建一個分支,但仍然停留在當前分支 git branch [branch-name] #新建一個分支,并切換到該分支 git checkout -b [branch] #合并指定分支到當前分支 git merge [branch] #刪除分支 git branch -d [branch-name] #刪除遠程分支 git push origin --delete [branch-name] git branch -dr [remote/branch]

推薦學習:《Git教程》

贊(0)
分享到: 更多 (0)
?
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
日韩精品成人一区二区三区| 日韩论理论片在线观看| 奇米影视7777狠狠狠狠影视| 日本丰满少妇高潮呻吟| 色综合久久久久综合一本到桃花网| 色综合久久久久无码专区| 无码精品A∨在线观看中文| 午夜三级理论在线观看高清| 亚洲AV永久无码精品无码一区二区| 亚洲国产精品久久久天堂麻豆宅男| 亚洲精品乱码久久久久久V| 伊人丁香狠狠色综合久久| 24小时在线看免费观看直播| ワンピースのエロ官网| 成人全部免费的A毛片在线看 | 又大又长粗又爽又黄少妇视频| 24种男女插秧法| 超碰人人看人人2017| 国产国拍亚洲精品MV在线观看| 黑料不打烊隐藏入口GITHUB| 久久久久国色AV∨免费看| 欧美人交a欧美精品a∨一区| 少妇高潮喷水惨叫久久久久电影 | 全球AV集中精品导航福利| 天干天干天啪啪夜爽爽色| 亚洲精品AⅤ无码精品| 18禁黄污无遮挡无码网站| 初尝黑人巨砲波多野结衣| 国产亚洲精品无码不卡| 久久综合伊人中文字幕| 日本大学SGU大二大三| 性姿势108式大全图解| 野花新免费高清完整在线观看| HD老熟女BBN| 国产精品丝袜黑色高跟鞋| 久久久一本精品99久久精品88| 欧洲老太太BBBH| 无码人妻丰满熟妇片毛片| 一面亲上边一面膜下边的免费 | 欧美最猛性XXXXX(亚洲精品)| 无码国产精品一区二区免费模式| 亚洲中文无码永久在线电影| 锕锕锕锕锕锕锕好疼免费看网站 | 性欧美XXⅩXXOO护士HD| 最新在线精品国产福利| 国产精品AV无码毛片久久| 久久人人做人人妻人人玩精品HD| 日韩精品成人一区二区三区| 亚洲国产精品高清久久久| FREE性欧美精品VIDEOS| 国产无遮挡无码很黄很污很刺激| 绿帽娇妻在卧室疯狂的呻吟| 体型差糙汉乖乖女| 玉蒲团Ⅱ之性战奶水潘金莲小说| 非洲黑人吊巨大VS亚洲女| 久久鬼色综合88久久| 日本极品人妻VIDEOSSEX| 亚洲嫩草AV永久无码精品天堂| 锕锕锕锕锕锕~好深啊APP下载| 极品少妇被猛得白浆直流草莓| 欧美熟老熟妇色XXXXX| 亚洲AV永久无码精品网站在线观| JAVASCRIPTJAVA成熟亲子| 国产在线精品无码二区| 人妻少妇看A偷人无码精品视频| 亚洲精品无码久久久久AV麻豆| 波多野结衣的电影有哪些| 久久97超碰人人澡人人爱| 撒尿特写XXXⅩ| 制服丝袜长腿无码专区第一页| 国产乱码一卡二卡3卡4卡网站| 欧美熟老妇人B多毛OOXⅩ| 亚洲国产精品无码中文字视| 村长用力挺进她的花苞啥电视| 久久午夜无码免费| 无码一区二区三区| А√天堂资源地址在线下载| 久久久久国色AV∨免费看| 午夜三级理论在线观看高清| 宝宝湿透了还嘴硬怎么回事| 久久久水蜜桃国产成人网站| 午夜无码国产理论在线| 暴躁老阿姨CSGO| 美女把腿扒开让我添视频| 亚洲不卡无码A∨在线| 丰满少妇被猛烈进入| 农村野外性BBW| 亚洲乱妇老熟女爽到高潮的片| 国产极品美女高潮无套在线观看 | 挺进去岳就不挣扎了在线观看| SUNTEK中老年人女妈妈秋装| 久久人人爽人人爽人人AV东京热 | 少妇高潮喷潮久久久影院| 91国语对白露脸自产拍不卡| 久久久久久久精品国产免费…| 亚洲AV成人片无码| 国产AV无码专区亚洲精品| 人妻少妇乱孑伦无码专区蜜柚 | 亚洲AⅤ日韩久久久久久| 反差婊吃瓜爆料黑料免费| 欧美性猛交XXXX黑人| 曰韩免费无码AV一区二区 | 东北老女人高潮大叫对白| 欧美精品黑人粗大视频| 中国在线观看免费国语版| 精品无码一区二区三区电影| 亚州中文字幕无码中文字幕| 国产成人片AⅤ在线观看| 日韩高清免费A级毛片| WWW.亚洲精品色情AⅤ色戒| 免费极品AV一视觉盛宴| 一二三四影视在线看片免费 | 亚洲中文字幕久久无码精品| 精品久久久久中文字幕APP| 午夜亚洲WWW湿好大| 国产精品后入内射日本在线观看 | 丰满人妻被中出中文字幕| 日本护士毛茸茸高潮| А√天堂资源在线官网| 欧美黑人极品猛少妇色XXXXⅩ | 老师你的好软水好多的时候图片 | 久久久久亚洲精品成人网| 亚洲欧美在线人成最新| 后入骚妇内射AV| 亚洲成AV人在线播放无码| 国内偷窥一区二区三区视频| 亚洲AV无码不卡在线播放| 国产无遮挡又黄又爽免费视频| 无码激情亚洲一区| 国产精品免费AⅤ片在线观看| 婷婷色综合AⅤ视频| 国产成人无码A区在线观看视频 | 亚洲第一无码XXXXXX| 黑人狂虐中国人妻陈艳| 亚洲超星团在哪个平台播| 精品久久久99大香线蕉| 亚洲精品有码在线观看| 久久AⅤ无码AV高潮AV喷吹| 亚洲熟妇丰满美女XXXXX| 久久久噜噜噜久久中文字幕色伊伊| 亚洲综合一区无码精品| 久久无码一区二区| 中文字幕热久久久久久久| 女性自慰网站免费观看W| JLZZZJLZZZ国产免费观| 人人澡人人透人人爽| 大爷你的太大了我| 卫生间被教官做好爽HH视频| 国产老熟女狂叫对白| 亚洲AV综合色区| 久久大香伊蕉在人线国产H| 一面亲上边一面膜的免费| 免费无码又黄又爽又刺激| JIZZJIZZ日本高潮喷水| 日日噜噜夜夜狠狠久久蜜桃| 国产波霸爆乳一区二区| 亚洲 日韩 欧美 成人 在线观| 精品国产不卡一区二区三区| 一下子就弄进去岳的身体| 女人偷拍厕所69XXXXXWW| 成 人 黄 色 视 频网址大全 | 男人忍不住挺进去了怎么回事| JIZZ成熟丰满| 台湾无码AV一区二区三区| 国产精品自在在线午夜| 亚洲男人综合久久综合天堂| 蜜桃视频一区二区三区在线观看| JAVA强行VIDEOS| 玩两个丰满老熟女久久网| 极品少妇自慰喷白浆av| 中文字幕日产乱码国内自| 日本少妇人妻XXXXX18| 国产精品特级毛片一区二区三区 | JAVAPARSER偷乱中国| 四川小少妇BBAABBAA| 果冻十麻豆十天美十老师| 与亲女洗澡时伦了| 日韩欧美人妻在线| 国产午夜片无码区在线观看爱情网 | 亚洲男男GAY 18自慰网站| 免费无码观看的AV在线播放| 丰满人妻被快递员侵犯的电影| 亚洲AV无码久久精品狠狠爱浪潮 | 国产特级毛片AAAAAA高潮流| 永久黄网站色视频免费品善网 | 男女作爱全部免费观爱| 丰满人妻被快递员侵犯的电影| 亚洲成AV人最新地堂无码| 妺妺窝人体色WWW精品777| 公交车上摸到花蒂进去了视频| 亚洲VA中文字幕无码久久| 女人18毛片A级毛片嫰阝| 国产成人丝袜视频在线观看| 亚洲永久无码7777KKK| 日本肥老妇色XXXXX日本老妇 | 国产AV人人夜夜澡人人爽小说 | 办公室扒开奶罩揉吮奶头AV| 无码熟妇人妻AV在线一| 精品露脸国产偷人在视频 | 亚洲中文字幕永久在线不卡|