Git的使用以及GitHub的配置

Git是一款分布式版本控制系統(tǒng),有別于SVN集中式版本管理控制系統(tǒng),Git可以讓團隊更加高效的協(xié)同工作,提高工作效率,也不會因為頻繁遭遇提交沖突而中斷,更不用擔心數據的備份,隨著近幾年互聯(lián)網的發(fā)展,現在很多的開發(fā)者已經開始使用Git,相信不久的將來,Git上的人數還將越來越多.

Git優(yōu)點

  • 相比SVN,git可以輕松擁有無限個分支
  • SVN使用的時候必須聯(lián)網才能正常工作(一旦服務器掛了就沒法提交代碼了),git支持本地版本控制工作

Git與SVN版本控制系統(tǒng)示意圖 對比

  • SVN采用集中式版本控制:如圖所示
集中式版本控制(SVN).png
  • Git采用分布式版本控制:如圖所示
分布式版本控制(Git).png

Git與SVN工作流程圖對比

  • SVN工作流程圖
SVN工作流程圖.png
  • Git工作流程圖
Git工作流程圖.png

使用方式

初始化本地代理倉庫 自動生成隱藏.git的文件夾

git init --初始化本地倉庫
touch test.txt --創(chuàng)建文件
git status test.txt -- 查看狀態(tài)  (紅色 表示沒有添加到暫緩區(qū))
git add test.txt  --或者git add  (添加到暫緩去,提交所有文件到暫緩區(qū))
git commit test.txt  
//這時候會進入編輯模式,讓我們添加做了哪些事情,寫完之后,esc 退出編輯模式,:wq 保存并退出
git commit -m "初始化項目"  //直接提交 

本地用戶信息配置

git config -l  查看當前配置信息
git config user.name J_mailbox
git config user.email J_mailbox@163.com //配置本地

//信息保存位置:chengaojian(用戶名)
/Users/chengaojian/.git/config

打開config信息如下:
[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[user]
    name = J_mailbox
    email = J_mailbox@163.com

全局用戶信息配置

git config --global user.name J_mialbox
git config --global user.email J_mialbox@163.com

//信息保存位置:chengaojian(用戶名)
/Users/chengaojian/.gitconfig

打開gitconfig信息如下:
[user]
    name = J_mialbox
    email = J_mialbox@163.com

git log  --查看歷史

隨著Swift的開源,越來越多的優(yōu)秀項目在GitHub開放,這也有利于我們開發(fā)者們更好的學習以及使用這些開源的優(yōu)秀代碼,為了以后更好的學習和分享,接下來我們也將建立屬于自己的GitHub賬號,方便以后與人分享自己的點滴.

  • 注冊GitHub賬號
  • 配置公鑰
  • 創(chuàng)建屬于自己的倉庫
  • 配置倉庫信息
  • 完成配置
  • 托管自己的項目
首先注冊一個GitHub的賬號,由于比較簡單就不多說了,如下圖:
GitHub注冊.png
登陸成功后,默認界面是這樣的如圖:
Git首頁.png
添加公鑰
  • 第一步:點擊用戶名頭像,然后選擇Settings進入下個頁面,如下圖:
添加公鑰配置.png
配置公鑰 (見最后補充:)
  • 第二步:點擊SSH keys,完成公鑰頁面的相關配置,如下圖:
添加公鑰.png
創(chuàng)建項目倉庫
  • 第三步:點擊用戶頭像旁邊 "+" 號,選擇New repository完成倉庫的配置,如下圖:
創(chuàng)建項目倉庫.png
倉庫配置
  • 第四步:進入倉庫配置界面,填寫相關信息,完成倉庫的創(chuàng)建,具體填寫內容如下圖:
倉庫配置.png
完成界面
  • 第五步:完成界面如下圖:
完成界面.png

發(fā)布項目到GitHub上

** 1.本地建立一個測試項目,名為GitHub-Demo **

** 2.復制上面創(chuàng)建好的項目庫地址 通過git clone 克隆到本地新建立的Demo文件夾中 **

** 3.創(chuàng)建GitHub-Demo測試項目 **

** 4.cd到項目文件夾GitHub-Demo文件夾中 **

** 5.將剛創(chuàng)建的GitHub-Demo測試項目通過git add . 保存到暫緩區(qū) **

** 6.然后通過git commit -m “創(chuàng)建一個測試項目”將暫緩區(qū)的文件提交到當前分支 **

具體步驟如下圖(分別通過終端和Xcode操作):

終端操作01.png
終端操作02.png
GitHub01.png
Xcode.png
GitHub02.png

客戶端SourceTree

  • 通過客戶端SourceTree可對我們的項目版本進行完美的管理
SourceTree.png

客戶端GitHub

  • 由于客戶端的使用比較簡單,這里就不多敘述,如果不了解的請自行百度.
客戶端GitHub.png
關于Git的一些其他指令
git --help 查看幫助
git --help checkout 查看checkout具體用法
esc --退出編輯狀態(tài)
:wq --保存并退出
git help :git指令幫助手冊
查看其他指令的做法:git help 其他指令

git config :git的配置信息相關(修改的是.git/config文件)

配置用戶名:git config “user.name” 用戶名(用于跟蹤修改記錄)
配置郵箱:git config “user.email” 郵箱(用于多人開發(fā)間的溝通)

查看配置信息:git config –l
編輯配置信息:git config –e(用vim編輯,:wq是退出vim編輯器)

設置指令的別名:git config alias.別名 原指令名稱
設置帶參數指令的別名:git config alias.別名 “原指令名稱 參數”
將此設置應用到整個系統(tǒng)中:git config ––gloabal

git status :查文件的狀態(tài)
查看某個文件的狀態(tài):git status 文件名
查看當前路徑所有文件的狀態(tài):git status

git log :查看文件的修改日志
查看某個文件的修改日志:git log 文件名
查看當前路徑所有文件的修改日志:git log
用一行的方式查看簡單的日志信息:git log ––pretty=oneline
查看最近的N次修改:git log –N(N是一個整數)

git diff :查看文件最新改動的地方
查看某個文件的最新改動的地方:git diff 文件名
查看當前路徑所有文件最新改動的地方:git diff

git init :初始化一個空的本地倉庫,生成一個.git目錄,用于維護版本信息
在當前路徑初始化倉庫:git init
在其他路徑初始化倉庫:git init 倉庫路徑

git add :將工作區(qū)的文件保存到暫緩區(qū)
保存某個文件到暫緩區(qū):git add 文件名
保存當前路徑的所有文件到暫緩區(qū):git add .(注意,最后是一個點 . )

git commit :將暫緩區(qū)的文件提交到當前分支
提交某個文件到分支:git commit -m ”注釋” 文件名
保存當前路徑的所有文件到分支:git commit -m ”注釋” 

git reset :版本回退(建議加上––hard參數,git支持無限次后悔)
回退到上一個版本:git reset ––hard HEAD^
回退到上上一個版本:git reset ––hard HEAD^^
回退到上N個版本:git reset ––hard HEAD~N(N是一個整數)
回退到任意一個版本:git reset ––hard 版本號(版本號用7位即可)

git reflog :查看指令使用記錄(能夠查看所有的版本號)

git rm:刪除文件(刪完之后要進行commit操作,才能同步到版本庫)

git clone:下載遠程倉庫到本地
下載遠程倉庫到當前路徑:git clone 倉庫的URL
下載遠程倉庫到特定路徑:git clone 倉庫的URL 存放倉庫的路徑

git pull:下載遠程倉庫的最新信息到本地倉庫
git push:將本地的倉庫信息推送到遠程倉庫

如果想了解git的工作原理,有幾個核心概念必須知道
工作區(qū)(Working Directory):倉庫文件夾里除.git目錄以外的內容
版本庫(Repository):.git目錄,用于存儲記錄版本信息
暫緩區(qū)(stage)
分支(master):git自動創(chuàng)建的第一個分支
HEAD指針:用于指向當前分支

好了,關于Git今天就先介紹到這里,不得不說Git是一個高大上的分布式版本控制系統(tǒng),通過Git可以使我們的工作效率大大提升,但是要想熟練Git中的所有知識卻不是那么的容易,一句話工作中遇到什么問題通過百度解決即可.如果有感興趣的朋友,可以參考此網站:http://git-scm.com/doc 學習更多有關Git的知識.

-----------------------------------------

補充: 關于SSH Key公鑰的生成

  • 打開終端輸入:ssh-keygen -t rsa -C "你的郵箱" 一路回車即可(中間有提示讓輸入密碼,可跳過),然后到/Users/你的電腦名/.ssh/id_rsa.pub下找到并打開id_rsa.pub就是生產的公鑰,或者直接通過終端指令直接打開id_rsa.pub也可以.
SSH key 公鑰生成步驟如下圖:
SSH公鑰的生成.png
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,840評論 4 54
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現,斷路器,智...
    卡卡羅2017閱讀 136,628評論 19 139
  • 現在這個時刻,身在異地,姐姐不能夠在學習上幫助你什么了,只能夠寫下此文作為你的加油包,希望雖然姐姐不在你身邊但是這...
    蘆薈柚子閱讀 492評論 2 2
  • 娃娃媽123閱讀 342評論 0 0
  • 轉眼已經20幾天了,其實上周就已經找到了工作,一時偷懶貪玩忘了寫文章,在這里先給一句雞湯:只要努力,堅持,好運就...
    Jelly妮閱讀 739評論 6 7

友情鏈接更多精彩內容