1. 程式人生 > >github的基本介紹與詳細使用

github的基本介紹與詳細使用

git

  1. git是什麼:是一個開源的分散式版本控制系統,可以對專案進行版本管理。 早期是linux之父用來管理linux系統原始碼的(linux是和windows一樣作業系統 開源免費的作業系統)

  2. 常見的原始碼管理工具

    1. git : 分散式版本控制系統

    2. svn : 集中式的版本控制系統

  3. 什麼是版本控制系統

    1. 版本控制系統: 用來控制原始碼的版本 (類似QQ 微信 版本升級) 軟體升級後 程式碼也會變化 程式碼也需要有一個版本來規範 (當涉及到版本更新 或者回退 要使用對應版本的程式碼)

git的工作原理

1. 傳統程式碼管理的原理 是通過檔案 + 日誌檔案 來管理程式碼的版本
2. 使用git之類的工具管理: 程式碼統一放到一個資料夾裡面 (會在當前要管理的程式碼資料夾裡面建立一個.git資料夾(git本地倉庫)) 程式碼的版本管理是在本地git倉庫裡面進行管理

git的基本使用

1. 瞭解git一些常見命令
   1. git add 
   2. git commit 
   3. git log
   4. git status
   5. git reset
   6. git init 

2. 安裝git環境(安裝了環境之後才可以使用git命令來管理原始碼) 
  1. 需要先安裝 Git-2.13.0-64-bit.exe  
  2. 雙擊開啟安裝包一路下一步
  3. 測試是否安裝成功 在桌面任意空白處右鍵出現git bash here 表示成功

3. 配置當前git使用者和郵箱
  1. git是在本地進行原始碼版本管理 (就需要一個本地管理程式碼的賬戶(使用者))
2. 配置當前git使用者 (如果不配置使用者和郵箱是無法使用git來管理) 3. 配置命令 開啟git bash黑窗 分別執行   git config --global user.name 名字 (取個名字)   git config --global user.email 郵箱(個人的郵箱) 4. 驗證使用者是否配置成功   開啟C盤 》 使用者 》 當前你登入的使用者 》 .gitconfig檔案 (可以開啟當前檔案修改使用者和郵箱)

git的基本使用 (命令都是在git bash黑窗執行)

1. 建立一個本地的資料夾(專案的資料夾裡面包含了專案的原始碼)  專案資料夾
2. 在當前資料夾下去初始化一個git的倉庫(可以被git管理)   進入專案 》 右鍵開啟git bash here   輸入 git init 回車   完成後 在當前專案裡面會有一個.git資料夾 記錄當前本地倉庫(如果看不到需要勾上顯示隱藏檔案)   https://jingyan.baidu.com/article/af9f5a2dc1f91243150a4553.html   https://jingyan.baidu.com/article/ab69b27091fb1c2ca7189fed.html 3. 把當前專案需要被管理的原始碼檔案和資料夾 新增到本地倉庫 輸入 git add 檔名.字尾名 回車 輸入完成後沒有出現報錯就是成功 如果檔案很多 都需要新增 輸入 git add . 回車   .和add之間有空格 4. 驗證當前新增是否成功 輸入 git status 回車 1. 綠色狀態 new file 當前新的檔案被新增 2. 紅色狀態 警告 有檔案沒有被新增到git倉庫管理 5. 把當前暫存區新增的檔案 提交到本地倉庫(提交後就表示建立了一個程式碼的版本) 輸入 git commit -m '提交日誌' 提交完成後就會把程式碼提交到.git資料夾(git倉庫) 並且會自動建立一個程式碼的版本 [master (root-commit) d6f5a75]     d6f5a75當前提交的版本號 6. 檢視當前本地倉庫的提交日誌 輸入 git log 檢視當前提交了幾次 分別什麼時候提交 提交的版本號等資訊 commit d6f5a75b8d27d71412a523a5de55c6c62c400f6c (HEAD -> master) 完整版本號 Author: zhengwei <[email protected]>   作者(配置的使用者) Date:   Wed Jun 6 11:31:33 2018 +0800   提交時間     2018-06-06-11-31第一次提交到本地倉庫   提交的日誌 7. 後續如果新增檔案   (add commit 是一起的 只有程式碼有更改都要再次執行)   1. 再把新增的檔案 新增到暫存區 git add .   2. 把暫存區的檔案 提交到本地倉庫 git commit -m '再次輸入提交日誌'   3. 執行完後後 git log檢視日 會顯示所有提交的日誌 會按照從新到舊顯示 8. 後續如果修改了已經被管理的檔案     1. git status   可以檢視當前版本的狀態       modified: 表示當前的文字程式碼被更改了           紅色表示更改了但是未新增           綠色表示當前檔案更改已經新增 但是未提交     2. 如果紅色沒有新增 git add .     3. 如果綠色沒有提及 git commit -m '提交日誌' 9. 如果需要知道修改了什麼程式碼 輸入 git diff檢視當前程式碼 和 修改之前的版本庫程式碼的對比 可以看到當前修改了那個檔案 修改了哪一行程式碼 -表示之前的程式碼 + 表示修改後的程式碼 如果修改後又撤回了 無法看到變化 10. 如果需要回到上一個版本的程式碼   輸入 git reset --hard HEAD^ 注意回退是不可逆的 新寫的程式碼就沒了 如果你寫了很多程式碼但是出了問題短時間找不到需要回退 1. 把新寫的程式碼備份一下 2. 再執行回退程式碼來回退版本 還可以使用指定的版本回退 git reset --hard 版本號 git reflog 檢視版本號 例如 git reset --hard a4a3ae9
11. .git檔案儲存了所有的程式碼的版本管理 這個資料夾是不能刪除
12. 總結
      1. git init 初始化本地倉庫
      2. git add . 新增要管理的程式碼(當前的程式碼才能被git管理)
      3. git commit -m '提交日誌' 把暫存區的檔案去提交到git倉庫
      4. git status 檢視狀態
      5. git log 檢視提交日誌
      6. git diff 檢視程式碼修改
      7. git reset --hard 版本回退
      8. git reflog 檢視所有版本號
      9. git reset --hard HEAD^  git reset --hard 版本號   可以回退到上一個版本 或者指定版本
        如果當前最新的程式碼沒有提交馬上回退 當前最新程式碼就沒有了
        如果當前最新程式碼提交了但是再次回退 當前最新的程式碼還能找到

github的概念

  1. github:  是一個git的伺服器提供商  幫我們共享程式碼(託管程式碼)  也是一個開源平臺
  2. git : 只是一個原始碼管理工具(管理程式碼的版本) 不能實現程式碼的共享
    使用git 來操作github實現程式碼的共享

github的使用

1. 註冊一個github賬號
2. 開啟https://github.com/join?source=header-home 註冊頁面
3. 輸入使用者名稱 郵箱 密碼
4. 選擇免費賬戶
5. 輸入一些描述提交
6. 點選 start a project
7. 進入你的郵箱驗證驗證郵箱

使用github實現程式碼的分享

  1. 使用github去建立一個伺服器倉庫
    1. 點選頭像 》 your profile
    2. 點選respositories 
    3. 點選右上角的new
    4. 輸入倉庫名稱(倉庫名不能有中文)
    5. 點選create repository

  2. 把本地的程式碼提交到github的倉庫裡面
    1. 開啟當前專案的git bash 黑窗 執行關聯伺服器倉庫的程式碼(每個人倉庫不一樣 要使用自己的命令)
      git remote add origin https://github.com/tu0415/my-letao
    2. 把本地倉庫程式碼提交到伺服器倉庫裡
      git push -u origin master
    3. 驗證程式碼是否提交成功 : 重新整理github的倉庫頁面 如果遠端倉庫有程式碼就表示成功

git+github的完整使用步驟

1. 建立一個專案資料夾 letao專案2
2. 當前專案建立一個本地倉庫  git init 
3. 把當前專案原始碼新增到暫存區 git add .
4. 把暫存區的程式碼提交到本地倉庫 git commit -m '提交日誌'
5. 去github建立一個伺服器倉庫 點選頭像 》 your profile 》 點選respositories 》點選new 新建倉庫 》 輸入倉庫名點選確定
6. 指定當前本地倉庫要關聯的伺服器倉庫
  git remote add origin https://github.com/tu0415/my-letao
  指定遠端伺服器倉庫的地址
7. 把當前本地倉庫的程式碼提交到伺服器倉庫裡面
  git push -u origin master
  把本地倉庫的原始碼 推送到遠端的master
8. 提交完成後在github伺服器上就能看到你提交的程式碼
9. 如果後面再次新增程式碼
   重複 3  4  7 步驟
   git add .
   git commit -m '新增index.js'
   git push -u origin master

使用SSH實現無密碼提交方式

  1. 原理在你當前電腦生成一個唯一的金鑰  把金鑰繫結到github賬號  你在你當前金鑰電腦上做程式碼提交操作都可以不需要輸入密碼  如果換了電腦要重新生成和繫結
  2. 使用生成金鑰命令生成一個金鑰
    開啟git bash 黑窗 輸入  ssh-keygen -t rsa      一路回車 出現2048就表示成功
  3. 找到生成的金鑰
    C盤 》 使用者 》 Administrator(你當前登入的使用者) 》 .ssh資料夾 》 開啟id_rsa.pub
    複製pub檔案裡面亂碼
  4. 開啟github使用者設定 點選 左側SSH and GPG keys
  5. 點選右上角的new SSH key
    輸入title 標題隨便輸入
    輸入key  pub裡面複製的亂碼
    點選add key
  6. 把git和github使用步驟重複一次
     建立一個專案
     git init
     git add .
     git commit -m '提交日誌'
     指定遠端地址注意遠端地址要指定ssh地址
     git remote add origin [email protected]://github.com/tu0415/my-letao
     git push -u origin master

相關推薦

github基本介紹詳細使用

gitgit是什麼:是一個開源的分散式版本控制系統,可以對專案進行版本管理。 早期是linux之父用來管理linux系統原始碼的(linux是和windows一樣作業系統 開源免費的作業系統)常見的原始碼管理工具 git : 分散式版本控制系統svn : 集中式的版本控制系統

C#操作Word Aspose.Words組件介紹及使用—基本介紹DOM概述

控制 包含 枚舉類 讀取 標記 服務器端 方法 python level 1.基本介紹 Aspose.Words是一個商業.NET類庫,可以使得應用程序處理大量的文件任務。Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XP

axios 全攻略之基本介紹使用(GET POST)

pkg 需要 name comm xmlhttp 基本介紹 markdown pre spa axios axios 是一個基於 Promise 的 HTTP 客戶端,專門為瀏覽器和 node.js 服務 Vue 2.0 官方推薦使用 axios 來代替原來的 Vu

Apache JMeter工具的基本介紹安裝

一、Apache JMeter簡介   JMeter是一個純粹的Java編寫的應用程式,它主要是用來進行負載和效能測試。原先它是為Web/HTTP測試而設計的。設計JMeter最初始的目的是用來測試Web Application但是現在已經擴充套件了很多功能。JMeter通常被用來對一些靜態

linux基本介紹環境搭建

1.1 Linux版本 linux kernel 2.2、2.4、2.6、3.0、4.0...發行商:Red hat、CentOS、Ubuntu選擇適合的Linux系統學習桌面系統:Ubuntu穩定伺服器系統:CentOS土豪(有售後):Red Hat對安全性有更高要求:Debian、FreeBSD新技術,

【原創】Aspose.Words元件介紹及使用—基本介紹DOM概述

  我之前部落格有一篇開源的Word讀寫元件的介紹:http://www.cnblogs.com/asxinyu/archive/2013/02/22/2921861.html ,引起了不少人的關注,機緣巧合,也使得我結識了一些朋友,由於DocX的一些原因(不穩定,更新很慢),我瞭解到了Aspose.

Hadoop學習筆記—1.基本介紹環境配置

一、Hadoop的發展歷史   說到Hadoop的起源,不得不說到一個傳奇的IT公司—全球IT技術的引領者Google。Google(自稱)為雲端計算概念的提出者,在自身多年的搜尋引擎業務中構建了突破性的GFS(Google File System),從此檔案系統進入分散式時代。除此之外,Google在

LSD-SLAM深入學習(1)-基本介紹ros下的安裝

前言      借鑑來自RGB-D資料處理的兩種方法-基於特徵與基於整體的,同樣可以考慮整個圖片的匹配,而不是隻考慮特徵點的…… 主要介紹        主要參考一下幾篇文章,都是來自tum的。以後演算法與程式碼介紹都是基於這幾篇文章的,建議仔細研究,必定受益匪淺。  

mysql數據庫的基本介紹操作(第二篇)

有一個 change com 不能 fault 重置 sql數據庫 兩個 ren 1.創建表: 格式: create table 表名( 列名 類型 是否可以為空, 列名 類型 是否可以為空, ) engine=innodb default char

[C#]CLR下執行緒的基本介紹使用

專用執行緒 由new Thread()建立的執行緒稱為專用執行緒。一般不建議使用專用執行緒,除非有下列情況: 你需要執行緒執行在非正常的優先順序時。執行緒池中的所有執行緒都是執行在正常優先順序(Normal)下。 你需要執行緒作為前臺執行緒執行時。執行緒池中

原始碼管理工具 ——Github介紹簡要教程

  一、Github工具介紹 (一)工具簡介   GitHub是一個面向開源及私有軟體專案的託管平臺,因為只支援git 作為唯一的版本庫格式進行託管,故名GitHub。 GitHub於2008年4月10日正式上線,除了Git程式碼倉庫託管及基本的 Web管理介面以外,還提供

關於構建私人git伺服器以及gitgithub的區別的詳細介紹

it專案開發往往都是團隊來完成的各有分工,那麼在生產的過程中為了更好的將每個人完成的地方完美的搭配起來,公司大多會採用比較合適的團隊協作工具,早起svn的使用很普遍,近年出現了github社群之後很多公司轉而使用git倉庫進行高效的程式碼協作以及版本控制。 也就是說當一

文件上傳到tomcat服務器 commons-fileupload的詳細介紹使用

部分 中文字符 form 引用 編碼 path -type dex item 三個類:DiskFileUpload、FileItem和FileUploadException。這三個類全部位於org.apache.commons.fileupload包中。 首先需要說明一下f

1.Angular框架-angular介紹基本使用,MVC模式介紹

就會 web javascrip 點擊 技術分享 fig page 格式 存儲 1.1. AngularJS概述 1.1.1. 介紹 簡稱:ng Angular是一個MVC框架 AngularJS 誕生於2009年,由 Misko Hevery 等人創建,後為Goog

一、消息隊列介紹RabbitMQ基本示例

情況 routing 示例 兩個 lba 生產者 src 客戶端 應用 Python裏面的消息機制是QUEUE,它與RabbitMQ幹的事情是一樣的,都是消息隊列。QUEUE是傳遞消息的,典型的應用場景就是生產者、消費者模型。那麽RabbitMQ到底與Python裏的QUE

gitgithub基本概念

div internal 來源 b16 alt col href height 版本控制工具 git和github是什麽? 通俗的說(來源 Git 跟 GitHub 是什麽關系?): git是一個版本控制工具github是一個用git做版本控制的項目托管平臺。 git是工具

Haproxy介紹基本應用初探

haproxy介 haproxy負載應用 haproxy配置 haproxy管理腳本 HAProxy是什麽 TCP代理軟件:L4(偽四層)http反向代理軟件:七層應用代理支持SSL連接:支持客戶端到到Haproxy,Haproxy到後面服務器,以及全程SSL的支持負載均衡器,支持會話粘性;H

二、Linux系統硬鏈接和軟鏈接詳細介紹實踐

導致 9.png 創建 訪問 tap 除了 all window tor 鏈接的概念 在linux系統中,鏈接可分為兩種:一種被稱為硬鏈接(Hard LinK),另一種被稱為軟鏈接或符號鏈接(Symbolic Link)。在默認不帶參數的情況下,執行ln命令創建的鏈

docker集群(二)--portainer+TLS安全連接docker主機(詳細介紹使用心得)

chm log usr tls term 參考 正常 pac 文件中 http://blog.51cto.com/mysky0708/2298049承接上文,在生產中如何安全的鏈接docker主機呢?我們采用TLS秘鑰方式。步驟:第一部分:首先在docker主機上生成秘鑰,

Python數據分析挖掘第一篇—基本介紹及環境搭建

sim python 模塊 功能 對數 numpy 分析 沒有 兩種 一,數據分析與挖掘簡介   所謂數據分析,是對已有的數據進行分析,提取一些有價值的信息,比如平均數,標準差等。而數據挖掘,是對大量的信息進行分析和挖掘,得到一些未知的,有價值的信息。如今日頭條類的新聞推送