Git和GitHub的應用


title: Git與Github的應用 tags: Git,Github grammar_cjkRuby: true

(一) Git和GitHub的簡單瞭解

1. Git 是什麼node

  • ==Git==是目前世界上最早進的==分佈式==版本控制系統

2. Git和GitHub有何區別linux

  • Git 是一款免費開源的分佈式版本控制系統 --- 工具
  • Github 是用Git作版本控制的代碼託管平臺 --- 平臺,就是一個網站
  • Github這個平臺,底層是使用git工具來實現版本控制的。

(二) 快速入門

1. 安裝Gitgit

  • Git下載的官方網址
  • 安裝的過程屬於傻瓜式安裝,一直下一步便可
  • 安裝以後,會在右鍵菜單出現以下兩個菜單項:==Git gui== 和 ==Git bash==

enter description here

  • 咱們使用的是==Git bash==

enter description here

  • 整個bash窗口,除了能夠執行git相關命令以外。它還能夠做爲cmd窗口來使用,能夠執行任何在cmd窗口中能夠執行的命令。好比 ipconfig 、 npm命令

2. 使用流程程序員

  • 典型的流程以下:npm

    • 初始化一個Git倉庫(==git init==)
    • 設置用戶名和郵箱
    • 添加文件到倉庫(==git add 文件名1 文件名2== 或 ==git add *== )
    • 提交 (==git commit -m 「說明文字」==)
    • 查看版本 (==git log==)
    • 回退 (==git reset --hard== HEAD^/commit_id
  • (1). 初始化一個Git倉庫 在項目的工程下,使用右鍵中的git base here 調出控制檯並使用==git init==命令來進行初始化(此項工做是在項目開發以前進行的)bash

enter description here

==它會在當前目錄下,建立一個.git的隱藏目錄。以下:== 服務器

enter description here

  • (2). 設置用戶名和郵箱

只是在第一次使用git的時候,須要設置,之後就不須要設置了。分佈式

git config user.name 用戶名 git config user.email 郵箱工具

  • (3). 添加文件到倉庫

git add 文件名1 文件名2 git add * (添加全部的文件)網站

這個過程能夠重複

  • (4). 提交 若是你任務某一個完整的模塊/功能已經實現了,能夠將其作出一個版本。

使用:==git commit -m 說明==

enter description here

  • (5). 查看版本 使用git log來查看版本的信息,以下:

enter description here

  • (6). 回退

有兩種方式:

直接返回上一級 幾個^就是返回幾級 git reset --hard HEAD^ 經過版本的id回到對應的版本位置 git reset --hard commit_id

(三).基本操做

1. git config ==做用==:就是對配置進行操做的 可使用git config --list 查看全部的git配置項

enter description here

其中,在使用的過程,須要對用戶名和郵箱進行配置。 git config user.name 用戶名 git config user.email 郵箱

2.git init ==做用==:就是用於初始化版本倉庫的。 使用的時候,能夠有以下兩種用法:

建立好目錄,而後直接git init 直接git init 項目名稱

一旦使用了git init命令,那麼就會在項目目錄下,建立一個.git的隱藏目錄。 在linux操做系統中,以點開頭的目錄都是隱藏目錄。

該目錄是版本倉庫,是git來維護的,用戶不能在這個目錄中作任何的操做

3.git status ==做用==:用於顯示當前版本倉庫的狀態。在不一樣的階段,顯示的信息是不同的。

初始時,以下:

enter description here

4.Git log ==Log== 是日誌的意思。 ==做用==:就是顯示版本信息。

enter description here

5.git add ==做用==:將指定的工做區的文件,添加到版本倉庫的暫存區。

命令的典型格式:==git add 文件名1 文件名2 文件名n== 若是一次性添加當前目錄全部的,可使用 ==git add *==

==注意==:若是須要從暫存區中刪除某個文件,可使用 git rm --cached 文件名

6.git commit ==做用==:就是用於將暫存區中的全部文件提交到master分支上,作成一個版本。 格式:git commit -m 說明文字

enter description here

7.git reset ==做用==:就有用於進行回退。 可使用git reset回退到任意版本。

==用法有以下兩種:==

git reset --hard HEAD^
git reset --hard commitid
複製代碼
  • (1).git reset --hard HEAD^
  • 這種方式,只能回退到歷史版本。

HEAD^:回退到當前版本的上一個歷史版本 HEAD^^:回退到當前版本的上上一個歷史版本 HEAD^^^:回退到當前版本的上上一個歷史版本 HEAD~n:回退到當前版本的前第n個歷史版本

  • (2).git reset --hard commitid

能夠回退到任意版本,既包括歷史版本,也包括將來版本。很是強大。 惟一須要拿到的就是commitid

enter description here

(四) 多人協做開發

1. 多人協助具體實現

典型的步驟以下: 建立一個git裸服務器 (git init --bare) 從裸服務器將版本庫克隆至本地(git clone ) 本地常規操做 推送版本至服務器 (git remote + git push origin master) 從遠程服務器拉取版本(git pull)

(1).建立一個git裸服務器

  • 命令:==git init --bare==

建立以下:

enter description here

==注意==:git裸服務器中,整個目錄都是版本倉庫,沒有工做區。也就意味着不能在git裸服務器的項目目錄中編寫代碼。

(2).從裸服務器將版本庫克隆至本地

  • 格式:==git clone url==
    enter description here

(3).推送版本至服務器

==場景==:甲的第一個版本已經完成了,可是它是在本地的,其餘程序員是看不見的,也用不了。 因此,須要甲將本地的版本庫,同步更新到git裸服務器,一般描述爲推送版本。

須要使用以下兩個命令: git remote,獲取git服務器的名稱 git push origin master,推送

  • git remote,獲取git服務器的名稱

enter description here

  • git push origin master,推送

enter description here

(4).推送版本至服務 ==場景==:同步更新,就是將當前開發人員的最新版本同步到服務端,會以當前開發人員的版本爲準。(理解爲覆蓋)

爲了確保,能夠推送,每一個開發人員在推送版本以前,必需要確保本身的版本是最新的版本。此時,能夠從服務端拉取最新版本到本地,而後再推送。

==git pull 命令拉取便可==

小結:

在實際開發中,須要來回的進行pull和push。 須要注意一點:多個程序員不要同時去修改某一個文件,不然就會出現衝突。

(五) 分支

1.分支常見操做

主要有以下幾個操做: ◆ 查看當前分支 (git branch) ◆ 建立分支 (git branch 分支名) ◆ 切換分支(git checkout 分支名) ◆ 分支上的常規操做 ◆ 分支的合併 (git checkout master + git merge 分支名) ◆ 分支的刪除(git branch -d 分支名

(1).查看當前分支

  • 命令:==git branch==

enter description here

(2).建立分支

  • 命令:==git branch 分支名==

enter description here

(3).切換分支

  • 命令: ==git checkout 分支名==

enter description here

(4).分支的合併

  • 命令:==git merge 分支名== 合併只能在master上進行的。

enter description here

(5).分支的刪除

  • 命令:==git branch -d 分支名== 這個一般是在master上進行的

enter description here
相關文章
相關標籤/搜索