站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        十分鐘帶你整理Git和Github的詳細入門教程

        本篇文章給大家?guī)砹薌it和Github詳細入門教程,Git是目前世界上最先進的分布式版本控制系統(tǒng),Github是一個為用戶提供Git服務的網(wǎng)站,希望對大家有幫助。

        十分鐘帶你整理Git和Github的詳細入門教程

        01.Git概述

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

        解決的問題:
        記錄了每次修改的:版本,內(nèi)容,操作用戶,修改時間,文檔名等。

        2.Git和Github的區(qū)別
        Git是一個分布式版本控制系統(tǒng),簡單的說就是一個軟件,用于記錄一個或若干文件內(nèi)容變化,以便來查閱特定版本修訂情況的軟件。

        Github是一個為用戶提供Git服務的網(wǎng)站,簡單說就是一個可以放代碼的地方(也可以放其他內(nèi)容)。Github除了提供管理Git的web界面外,還提供了訂閱、關注、討論組】在線編輯器等豐富的功能。

        Git 并不像 SVN 那樣有個中心服務器。

        目前我們使用到的 Git 命令都是在本地執(zhí)行,如果你想通過 Git 分享你的代碼或者與其他開發(fā)人員合作。 你就需要將數(shù)據(jù)放到一臺其他開發(fā)人員能夠連接的服務器上。本例使用了 Github 作為遠程倉庫

        Git的安裝

        02.Git的本地倉庫操作

        1.工作流程
        Git本地操作的三個區(qū)域:
        十分鐘帶你整理Git和Github的詳細入門教程
        工作流程:
        十分鐘帶你整理Git和Github的詳細入門教程

        暫存區(qū):相當于購物車存放要購買的物品最后一起付款。

        2.本地倉庫操作
        什么是倉庫?
        倉庫又叫做版本庫,英文名 repository,我們可以簡單的理解成是一個目錄,用于存放代碼,這個目錄里面所有的文件都可以被Git管理起來,每個文件的修改,刪除等操作Git都可以跟蹤到。

        在安裝好后首次使用需要先進行全局配置:

        1.點擊”Git Bash Here "以打開Git命令行窗口:

        $ git config --global user.name "用戶名" $ git config --global user.email "郵箱地址"

        設置好用戶信息,當進行項目修改的時候就會記錄用戶名

        2.創(chuàng)建本地倉庫
        當我們需要讓Git 去管理某個新項目/已存在的項目的時候,就需要創(chuàng)建倉庫。

        建議使用空目錄學習Git,因為操作失誤產(chǎn)生不必要的錯誤。目錄名盡量使用英文名。

        3.創(chuàng)建目錄

        $ mkdir  目錄名

        也可以直接在本地以新建的方式創(chuàng)建。
        4.在命令行中進入項目目錄 pre_git

        $ cd 目錄名

        5.Git倉庫的初始化
        即讓Git知道需要他來管理這個目錄

        $ git init

        執(zhí)行后,打開這個項目目錄下,點擊隱藏目錄你會發(fā)現(xiàn)多了一個.git文件夾。不能刪除,也不能隨意更改。

        到這里就可以在里面進行開發(fā)。
        6.Git常用指令操作
        查看當前工作狀態(tài):

        $ git status

        作用:當我們忘記項目做到哪里的時候,比如上個廁所回來,開個會回來等??梢允褂眠@個命令來判斷下一步要干嘛。

        7.可以在項目目錄中,進行開發(fā)

        8.將工作區(qū)文件添加到緩存區(qū):

        說明:git add 指令,可以添加一個文件,也可以同時添加多個文件。 語法一:$ git add 文件名 語法二:$ git add 文件名1 文件名2 文件名3 ...... 語法三:$ git add .    【添加當前目錄到緩存區(qū)中】

        9.提交至版本庫

        $ git commit -m "注釋內(nèi)容"

        如果創(chuàng)建了新的文件,從add開始,重復上述操作即可。

        如果修改了已提交的文件內(nèi)容,再從add開始重新提交就好了。

        這里的提交等操作只是提交到Git本地倉庫。

        Git的版本回退操作

        版本回退分為兩個步驟:
        1.首先查看版本,確定需要回到的時刻點
        指令:

        $ git log $ git log --pretty=oneline

        第二種指令:簡化了信息。
        2.回退操作:
        指令:

        $ git reset --hard 提交編號

        執(zhí)行操作后,項目目錄中的文件會回到指定的時刻。

        回到過去之后,這時我又想回到之前的最新的狀態(tài)怎么辦?
        首先:查詢之前的編號
        指令:

        $ git reflog

        然后再執(zhí)行

        $ git reset --hard 提交編號

        小結(jié):
        要想回到過去,先獲取commit id ,然后通過git reset –hard回到過去。

        回到未來:需要使用 git reflog 進行歷史操作查詢,獲取最新的commit id。(編號)

        可以發(fā)現(xiàn)在寫回退指令的時候commit id 可以不用寫全,git會自動識別。至少需要寫前4位。

        03.遠程倉庫

        線上倉庫的操作,以Github為例。(目前為Git倉庫提供遠程倉庫的網(wǎng)站有很多)

        1.Github線上倉庫的創(chuàng)建

        十分鐘帶你整理Git和Github的詳細入門教程
        2.使用線上倉庫
        添加遠程倉庫(這里添加github)

        注意:在git bash中輸入 cd /D 注意盤名字一定要是大寫。如不輸入這個語句 不給git bash定位的話,默認的本地文件位置是在c盤中。然后再cd到以遠程倉庫相同名字的文件夾中。

        第一種方式:基于https協(xié)議:
        倉庫就是目錄:
        1.創(chuàng)建空目錄,名稱為shop(任取)
        2.復制https對應得地址。
        然后在當前目錄新建shop目錄

        $ mkdir shop $ cd ./shop

        3.使用clone指令克隆線上倉庫到本地。

        $ git clone 線上倉庫地址

        執(zhí)行后,線上的倉庫就被clone下來了,如果clone下來的是一個空目錄,克隆下來的目錄只有隱藏的.git目錄。

        4.在上述操作完成后,就可以在本地倉庫做對應的操作

        比如:(提交至暫存區(qū),提交到本地倉庫,提交到線上倉庫(遠程倉庫),拉取線上倉庫
        前面幾個操作跟上面的本地倉庫操作相同。

        然后提交到線上倉庫:

        如果是首次提交,首先應獲取權限:(否則會出現(xiàn)403的錯誤)
        因為不是任何人都可以往線上倉庫提交內(nèi)容。
        獲取權限:
        修改".git/config 文件內(nèi)容:
        在url這一項中:
        在github.com前面加上:用戶名:密碼@
        如:

        url=https://用戶名:密碼@github.com/用戶名/倉庫名.git

        其它不變。

        指令:
        提交到線上倉庫的指令

        $ git push

        提交成功之后,你會發(fā)現(xiàn),線上倉庫中多你提交的內(nèi)容。

        注意:如果你提交成功下班后:同事也向該遠程倉庫提交了新的內(nèi)容。第二天上班時,你需要拉去線上的倉庫的最新版本
        使用命令:

        $ git pull

        因此在每天工作的第一件事就是git pull 拉取線上的最新版本,下班要做的就是 git push,將本地代碼提交到線上倉庫。

        第二種方式:基于ssh協(xié)議(推薦使用)
        該方式與前面https方式相比,只是影響github對于用戶的身份鑒定方式,對于git的具體操作沒有任何改變。

        步驟:
        1.生成客戶端公私鑰文件。
        2.將公鑰上傳到Github。

        實際操作:
        1.創(chuàng)建公私鑰文件

        你的本地 Git 倉庫和 GitHub 倉庫之間的傳輸是通過SSH加密的,所以我們需要配置驗證信息:使用以下命令生成 SSH Key:

        在這里直接打開Git Bash:(也可以在桌面單擊右鍵打開)

        十分鐘帶你整理Git和Github的詳細入門教程

        然后輸入命令:

        ssh-keygen -t rsa -C "注冊郵箱"

        如果你無法生成密鑰(須先自行安裝OpenSSH)然后在執(zhí)行以上命令。
        網(wǎng)上的一些教程使用命令:

        $ ssh-keygen -t rsa-C "your_email@youremail.com"

        注意:其實your_email@youremail.com表示的就是注冊郵箱,即兩者是相同的。

        之后會要求確認路徑和輸入密碼,我們這使用默認的一路回車就行。

        2.找到id_rsa.pub文件。
        成功的話會在 ~/ 下生成 .ssh 文件夾,進去,打開 id_rsa.pub,復制里面的 key。
        回到 github 上,進入 Account => Settings(賬戶配置)。
        為了驗證是否成功,輸入以下命令:

        $ ssh -T git@github.com

        結(jié)果:Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.

        3.然后再本地新建目錄(用來保存線上的項目),然后進入目錄。

        $ mkdir 目錄名稱 $ cd ./目錄名稱/

        然后克隆目錄到新建的目錄中:

        $ git clone ssh地址

        線上的倉庫ssh和https地址可以在clone和download中查看
        4.后續(xù)操作跟https方式一樣。

        相比于https,這種方式一旦配置好后,以后的項目就不需要一個個去配置用戶名和密碼了,可以說一勞永益。所以推薦使用這種方式

        05.Git的分支操作

        什么是分支 ?
        即項目的分支(不同的功能):
        所有的分支組成一個項目。
        十分鐘帶你整理Git和Github的詳細入門教程
        在版本回退的內(nèi)容中,每次提交都會有記錄,Git把他們串成時間線,形成類似于時間軸的東西,這個時間軸就是一個分支,我們稱之為master分支。

        在開發(fā)的時候往往是團隊協(xié)作,多人進行開發(fā),因此光有一個分支是無法滿足多人同時開發(fā)的需求的,并且在分支上工作并不會影響其他分支的正常使用,會更加安全,Git鼓勵開發(fā)者使用分支去完成一些開發(fā)任務。

        分支的相關指令:

        查看分支:git branch 創(chuàng)建分支:git branch 分支名 切換分支:git checkout 分支名 刪除分支:git branch -d 分支名 合并分支:git merge 被合并的分支

        注意:可以使用"git checkout -b 分支名" 指令來切換分支,-b選項表示創(chuàng)建并切換,相當于是兩個操作指令。

        含"*"表示當前分支。

        可以看出我們都是對分支進行操作。

        刪除分支之前,需要退出該分支,既不能在使用中刪除。

        06.沖突的產(chǎn)生與解決

        案例:模擬沖突
        1.我下班之后,同事對線上項目內(nèi)容進行了修改,此時本地倉庫的內(nèi)容與線上倉庫內(nèi)容不一致,第二天我忘記做git pull操作,而是直接對本地文件進行修改。
        當進行提交時,會報錯。
        2.解決沖突
        先進行指令"git pull"操作。

        3.打開沖突文件,解決沖突。
        和提交內(nèi)容的用戶商量保存哪些內(nèi)容。刪除哪些內(nèi)容。

        然后重新提交后,在進行push操作即可。

        這里可以看到上班前進行 git pull 的重要性。

        07.Git實用功能

        1.圖形管理工具

        Github for Desktop
        對于經(jīng)常使用Github的開發(fā)人員來說是非常便捷的工具。

        Source tree
        老牌的Git GUI管理工具,適合初學者。

        TortoiseGit
        對于熟悉SVN的開發(fā)人員來說,非常友善。其前輩TortoiseSVN。

        自帶的Git GUI管理工具。

        08.忽略文件

        項目中存在萬年不變的目錄,例如css,js,images等,或者還有些目錄即便有改動,我們也不想讓其提交到遠程的文檔,此時我們可以使用"忽略文件”機制來實現(xiàn)需求。

        忽略文件需要新建一個名為 .gitignore的文件,該文件用于聲明忽略文件或不忽略文件的規(guī)則,規(guī)則對當前目錄及其子目錄生效。

        注意:該文件因為沒有文件名,沒辦法在windows目錄下直接創(chuàng)建,可以通過命令行Git Bash來創(chuàng)建。

        常見的規(guī)則如下: 1.過濾整個文件夾      /mtk/ 2.過濾所有.zip文件    *.zip 3.過濾某個具體文件    /mtk/do.c 4.不過濾具體某個文件  lindex.php

        新建.gitignore的文件
        指令:

        $ touch .gitignore

        配置文件.gitignore:
        如:
        1.忽略/js目錄
        /js/

        09.Github的基本概念

        作用:借助github托管項目代碼。
        1.倉庫(Repository)
        倉庫即你的項目,你想在Github上開源一個項目,那就必須要新建一個Repository,如果開源的項目多了,你就擁有多個Repositories。

        2.收藏(star)
        意為收藏項目的人數(shù)。方便下次查看。

        3.復制克隆項目(Fork)
        瀏覽他人項目時,點擊fork,會在自己的賬號里新建一個相同的倉庫,該倉庫是獨立存在的,但是會顯示 forked from 誰的倉庫。
        十分鐘帶你整理Git和Github的詳細入門教程
        4.發(fā)起請求(Pull Request)
        這是基于Fork的,李四在自己克隆的項目里進行改進完成后,想要將自己改進的項目合并到原來的項目中,于是他就發(fā)送了一個Pull Request,給原項目的創(chuàng)建人。假如你是這個項目的創(chuàng)建人,你就可以收到這個請求,這時候你會仔細review他的代碼,如果覺得不錯,就可以接受他的請求,這時候他做的改進,在你的項目里就有了。
        十分鐘帶你整理Git和Github的詳細入門教程
        步驟:
        1.fork項目
        2.修改fork的項目
        3.新建pull request
        4.等待項目新建者合并項目
        5.關注(Watch)
        如果你關注了某個項目,那么以后只要這個項目有任何的更新,都會接收到通知。

        6.事務卡片(Issue)
        就是你開源了一個項目,別人再查看你的項目時發(fā)現(xiàn)了Bug,或則有些地方做的不好,他就可以給你提個Issue,即問題,然后你看到了這些問題就可以去完善,完善好了就可以將其一個個的Close掉。
        即發(fā)現(xiàn)代碼Bug,但是目前沒有成型的代碼,需要討論時使用。
        如:別人給Itcastphpgit2提交一個issue
        十分鐘帶你整理Git和Github的詳細入門教程

        主頁概念:
        1.Github主頁
        顯示用戶動態(tài)以及關注用戶或關注倉庫的動態(tài)。
        十分鐘帶你整理Git和Github的詳細入門教程

        2.倉庫主頁
        項目信息
        十分鐘帶你整理Git和Github的詳細入門教程

        3.個人主頁
        個人信息

        官方網(wǎng)址:Github.com

        新建Github賬戶:
        十分鐘帶你整理Git和Github的詳細入門教程
        十分鐘帶你整理Git和Github的詳細入門教程
        注意:github服務器在國外,所以訪問較慢或者無法訪問。

        根據(jù)操作驗證郵箱,創(chuàng)建遠程倉庫。

        遠程倉庫的操作:

        1.新建文件
        十分鐘帶你整理Git和Github的詳細入門教程
        2.編輯文件
        十分鐘帶你整理Git和Github的詳細入門教程

        點擊文件名,然后點擊“小筆"圖案。

        3.上傳文件
        點擊上傳文件,然后加描述。(Upload files)

        4.搜索倉庫文件
        點擊搜索(Find file)

        5.下載項目
        點擊Clone or download

        10.github Pages搭建網(wǎng)站

        個人站點
        訪問:
        https://用戶名.github.io

        搭建步驟
        1.創(chuàng)建個人站點–>新建倉庫(注:倉庫名必須是【用戶名.github.io】

        2.在倉庫下新建index.html的文件即可。

        注意:github pages 僅支持靜態(tài)網(wǎng)頁
        2.倉庫里只能是.html文件。

        推薦學習:《Git教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 四虎国产精品成人免费久久| 精品国产福利盛宴在线观看| 亚洲永久永久永久永久永久精品| 亚洲精品无码永久在线观看 | 欧洲精品视频在线观看| 亚洲欧洲自拍拍偷精品 美利坚| 国产在线91精品入口| 精品国内片67194| 久久精品99久久香蕉国产色戒 | 精品人妻系列无码天堂| 欧美激情视频精品一区二区| 国产精品国产三级国产AⅤ| 久久精品国产一区| 999成人精品视频在线| 精品一区二区三区无码免费视频| 曰韩精品无码一区二区三区| 青春草无码精品视频在线观 | 久久精品亚洲一区二区三区浴池| 日韩精品亚洲专区在线观看| 精品成人一区二区三区四区| 国产精品熟女福利久久AV| 99久久99久久精品国产片| 99国产精品国产免费观看| 91精品国产91久久久久久青草| 国产精品久久久久无码av| 国产92成人精品视频免费| 99国产精品久久久久久久成人热| 国产精品原创巨作av女教师| 精品人妻大屁股白浆无码| 久久久久99精品成人片欧美| 久久夜色精品国产噜噜噜亚洲AV| 无码精品国产一区二区三区免费 | 99精品电影一区二区免费看| 日本人精品video黑人| 2020最新久久久视精品爱| 99热精品毛片全部国产无缓冲| 98香蕉草草视频在线精品看| 国产精品乱视频| 蜜臀av无码人妻精品| 欧美日韩精品在线观看| 欧美成人精品高清在线播放|