1. Git與Github的使用
任務目標:
- 如何在git新建項目
- 如何獲取ssh key
- 克隆項目
- 如何往Github上添加刪除上傳項目
step1:新建Git項目
注冊并登錄Github賬號,點擊New repository 按鈕新建項目(需要操作的內容有點多,請耐心看)。
step2:獲取并配置公鑰
打開git bash命令行工具,
git安裝使用:
Windws: 安裝git, 打開 gitbash
Linux 打開終端
Mac 打開終端
bash 輸入指令:git clone 加上剛拷貝的ssh地址,如圖所示。
(注意:初次使用會因為沒有設置公鑰而報錯,不要驚慌,耐心跟著下面的操作就行了)
繼續輸入 ssh-keygen -t rsa -b 4096 -C "您的github郵箱"
輸入上面的命令后,一直按回車鍵,直到生成鑰匙
輸入拷貝公鑰的命令(也可直接找到公鑰所在文件,用編輯器打開直接拷貝):cat ~/.ssh/id_rsa.pub
打開Github個人主頁,點擊頭像-->個人設置——>SSH設置-->添加SSH Key: 將拷貝的公鑰添加上去
step3:克隆項目
此時已配置好了ssh key,再在git bash輸入git clone 命令就成功了:git clone git@github.com:jirengu/blog.git
繼續練習:對已克隆項目進行命令行操作
切換操縱:cd blog
新建文件操作: touch index.com
添加到暫存區:git add .
提交到本地庫(在本地電腦上保存該文件):git commit -am "addfile"
推送到Github遠程庫(將該文件推送至Github上):git push origin master
step4:開啟Github pages線上預覽功能
點開項目的Settings設置——>GitHub Pages-->選中master branch
2. 為什么要使用Git?
- 首先要明確版本控制的概念:
版本控制是一種記錄一個或若干文件內容變化,以便將來查閱特定版本修訂情況的系統。
- 本地版本控制系統
- 集中式版本控制系統(SVN)
- 分布式版本控制系統(Git)
- Git 的優勢
誕生自2005,Linux 開源社區
- 速度快
- 設計原理簡單
- 允許上千個并行分支
- 分布式上傳,不怕斷網等影響
- Git下載地址
windows安裝地址
Mac 安裝地址
3. Git 簡單操作
- 重要概念:
狀態 | 概念解釋 |
---|---|
已提交(mommitted) | 該文件已經被安全地保存在本地數據庫中了 |
已修改(modified) | 修改了某個文件,但還沒有提交保存 |
已暫存(staged) | 把已修改的文件放在下次提交時要保存的清單中 |
- 起步
初次使用需要設置姓名和郵箱
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 add .
//查看狀態
git status
- 把暫存區的更新提交到本地庫
//提交到本地庫
git commit -am "add file"
//查看狀態
git status
- 推送到遠程GitHub庫
//把當前本地庫里的改動推送到遠程庫(origin)的master 分支
git push origin master
- 修改刪除文件
//把遠程倉庫的變動更新合并到本地倉庫
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 時更新本地合并時會出現沖突。
解決方法:
修改沖突文件
重新提交