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

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

        本篇文章給大家帶來了關于git入門的相關知識,其中包括了環境配置、基本理論、項目搭建以及文件操作等相關問題,希望對大家有幫助。

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

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

        版本控制

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

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

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

        簡單說就是用于管理多人協同開發項目的技術。

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

        常見的版本控制工具

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

        • 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),現在影響力最大且使用最廣泛的是Git和SVN。

        1.本地版本控制

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

        2.集中版本控制 SVN

        所有的版本數據都保存在服務器上,協同開發者從服務器上同步更新或上傳自己的修改。

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

        3.分布式版本控制 GIT

        每個分支都有全部代碼。

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

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

        4.Git和SVN最主要的區別

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

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

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

        Git環境配置

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

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

        官網下載太慢,可以使用淘寶鏡像下載: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查詢系統給配置的

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

        Git基本理論

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

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

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

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

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

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

        工作流程

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

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

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

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

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

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

        Git項目搭建

        創建工作目錄與常用指令

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

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

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

        本地倉庫搭建:

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

        1.創建全新的倉庫,需要用GIT管理的項目的根目錄執行:

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

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

        克隆遠程倉庫

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

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

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

        Git文件操作

        文件4種狀態

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

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

        查看文件狀態

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

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

        忽略文件

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

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

        1. 忽略文件中的空行或以井號(#)開始的行將會被忽略。
        2. 可以使用Linux通配符。例如:星號(*)代表任意多個字符,問好(?)代表一個字符,方括號([abc])代表可選字符范圍,大括號({string1,string2})代表可選的字符串等。
        3. 如果名稱的最前面有一個感嘆號(!),表示例外規則,將不被忽略。
        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公鑰,實現免密碼登錄!
        # 進入 C:UserssAdministrator.ssh 目錄 # 生成公鑰 ssh-keygen -t rsa

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

        4.使用碼云創建一個自己的倉庫

        IDEA中集成Git

        1.新建項目,綁定git

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

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

        刷新后idea會出現

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

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

        • 添加到暫存區 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號
        主站蜘蛛池模板: 亚洲A∨午夜成人片精品网站| 亚洲精品国产美女久久久| 看99视频日韩精品| 国产精品视频免费| 亚洲av无码国产精品色午夜字幕| 国产91精品黄网在线观看| 久久久精品2019免费观看| 婷婷久久精品国产| 国产精品免费久久| 日韩精品成人一区二区三区| 亚洲中文字幕无码久久精品1| 国产精品黄页免费高清在线观看| 99视频精品全部在线观看| 无码人妻精品一区二区三区99仓本 | 亚洲精品无码永久中文字幕| 国产精品人人做人人爽| 欧美精品免费观看二区| 国产精品无圣光一区二区| 亚洲处破女AV日韩精品| 合区精品久久久中文字幕一区| 精品久久久久久国产牛牛app| 国产AV国片精品一区二区| 99久久www免费人成精品| 久久九九有精品国产23百花影院| 97精品国产福利一区二区三区| 久久精品无码一区二区无码| 久久夜色精品国产噜噜噜亚洲AV| 亚洲AV无码成人精品区蜜桃| 亚洲精品无码mv在线观看网站 | 国产成人精品手机在线观看| 日韩精品内射视频免费观看| 午夜精品久久久久久毛片| 午夜精品久久久久久99热| 少妇精品无码一区二区三区| 亚洲国产精品SSS在线观看AV| 日韩精品久久久久久久电影蜜臀| 久久夜色精品国产亚洲| 精品国产一区AV天美传媒| 国产美女精品一区二区三区| 国产精品扒开腿做爽爽爽视频| 国产精品兄妹在线观看麻豆|