Git與Github 使用教程

1. Git與Github的使用

任務目標:

  • 如何在git新建項目
  • 如何獲取ssh key
  • 克隆項目
  • 如何往Github上添加刪除上傳項目

step1:新建Git項目
注冊并登錄Github賬號,點擊New repository 按鈕新建項目(需要操作的內容有點多,請耐心看)。


github1.png
github2.png
github3.png
github4.png

step2:獲取并配置公鑰
打開git bash命令行工具,

git安裝使用:
Windws: 安裝git, 打開 gitbash
Linux 打開終端
Mac 打開終端

bash 輸入指令:git clone 加上剛拷貝的ssh地址,如圖所示。
(注意:初次使用會因為沒有設置公鑰而報錯,不要驚慌,耐心跟著下面的操作就行了)

git bash1
git bash2.png

繼續輸入 ssh-keygen -t rsa -b 4096 -C "您的github郵箱"


git bash3.png

輸入上面的命令后,一直按回車鍵,直到生成鑰匙


git bash4.png

輸入拷貝公鑰的命令(也可直接找到公鑰所在文件,用編輯器打開直接拷貝):cat ~/.ssh/id_rsa.pub


git bash5.png

打開Github個人主頁,點擊頭像-->個人設置——>SSH設置-->添加SSH Key: 將拷貝的公鑰添加上去


github5.png

step3:克隆項目
此時已配置好了ssh key,再在git bash輸入git clone 命令就成功了:git clone git@github.com:jirengu/blog.git

git bash6.png

繼續練習:對已克隆項目進行命令行操作

切換操縱:cd blog
新建文件操作: touch index.com
添加到暫存區:git add .
提交到本地庫(在本地電腦上保存該文件):git commit -am "addfile"
推送到Github遠程庫(將該文件推送至Github上):git push origin master

git bash7.png

step4:開啟Github pages線上預覽功能
點開項目的Settings設置——>GitHub Pages-->選中master branch


github6.png

2. 為什么要使用Git?

  • 首先要明確版本控制的概念:

版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統。

  • 本地版本控制系統
  • 集中式版本控制系統(SVN)
  • 分布式版本控制系統(Git)
  • Git 的優勢
    誕生自2005,Linux 開源社區
  • 速度快
  • 設計原理簡單
  • 允許上千個并行分支
  • 分布式上傳,不怕斷網等影響

3. Git 簡單操作

  • 重要概念:
狀態 概念解釋
已提交(mommitted) 該文件已經被安全地保存在本地數據庫中了
已修改(modified) 修改了某個文件,但還沒有提交保存
已暫存(staged) 把已修改的文件放在下次提交時要保存的清單中
git項目狀態圖譜.png
  • 起步
    初次使用需要設置姓名和郵箱

git config --global user.name "你的姓名"
git config --global user.email 郵箱地址

  • clone 項目
    用于把一個GitHub是的項目clone(下載)到本地變為本地倉庫

//克隆
git clone git@github.com:jirengu/blog.git
//切換到克隆項目目錄
cd blog

  • 添加文件并提交

//創建文件
touch a.md
//在文件里寫入一個字符串
echo "hello" > a.md
git status

git bash8.png
  • 添加文件并提交

//把當前目錄下的新增和修改的文件添加到暫存區
git add .
//查看狀態
git status

git bash9.png
  • 把暫存區的更新提交到本地庫

//提交到本地庫
git commit -am "add file"
//查看狀態
git status

git bash10.png
  • 推送到遠程GitHub庫

//把當前本地庫里的改動推送到遠程庫(origin)的master 分支

git push origin master

git bash11.png
  • 修改刪除文件

//把遠程倉庫的變動更新合并到本地倉庫
git pull
//修改文件
vim a.md
git add .
//這里需要注意,如果提交消息包含大量字符串,提交參數不用加 m
//此時會進入 vim 界面,按下i進入編輯狀態,進行編輯
//編輯完成后按下 esc 進入命令行狀態,輸入 :wq 保存退出 vim
git commit -a
git push origin master
rm -rf a.md
git add .

  • 相關問題
    git clone url和 git pull有什么區別
    本地倉庫和遠程倉庫的區別?
    origin 代表什么?

4. Git的復雜使用

  • 本地創建一個 git 項目推送到遠程空倉庫

//創建一個文件夾
mkdir newProject
//切換至該文件夾
cd new Project
//把一個文件夾初始化成一個本地 git 倉庫
git init
(注意:倉庫和文件夾 的區別在于倉庫下有一個隱藏的 .git文件夾;對于一個倉庫,刪除.git文件夾,就變成一個普通文件夾了)
//新建一個文件
touch index.html
//寫入“hello”內容至新建的文件
echo "hello" > index.html
//提交更新至暫存區
git add .
//提交至本地庫
git commit -am "init"
//查看本地庫里記錄的遠程庫地址
git remote -v
//這里把遠程庫的地址添加個標簽叫origin
git remote add origin git@github.com:jirengu/blog2.git
//推送到遠程庫地址
git push origin master
//慎用,這樣會強制推送,會覆蓋別人的代碼
git push -f origin master
//在添加一個遠程庫的標簽
git remote add gitlab git@gitlab.com:abc/blog.git
//推送到gitlab標簽的地址上
git push gitlab master
//刪除gitlab 標簽
git remote remove gitlab
//修改origin標簽對應的地址
git remote set-url origin git@github.com:jirengu/blog3.git
//把 gitlab 標簽改名為coding
git remote rename gitlab coding

  • 分支操作

//創建本地庫dev 分支
git branch dev
//切換到dev 分支
git checkout dev
touch b.md
git add .
git commit -am "add b.md"
//推送到origin地址的dev分支上
git push origin dev

  • 分支合并

// 切換到master
git checkout master
//把 dev 分支上的內容合并到當前分支(master) 上
git merge dev

  • 問題:合并沖突
    當自己和別人修改同一個文件的同一個地方,在執行 git pull 時更新本地合并時會出現沖突。

解決方法:
修改沖突文件
重新提交

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,362評論 6 537
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,013評論 3 423
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,346評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,421評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,146評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,534評論 1 325
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,585評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,767評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,318評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,074評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,258評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,828評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,486評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,916評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,156評論 1 290
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,993評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,234評論 2 375

推薦閱讀更多精彩內容