配置Git
git config -- global user.name 你的英文名
git config -- global user.email 你的郵箱
git config -- global push.default matching
git config -- global core.quotepath false
git config -- global core.editor "vim"
逐條配置狭莱,回車抡四,global是全局的意思
配置Github
- 進(jìn)入 https://github.com/settings/keys
- 刪除已有的 SSH key(一個(gè)電腦只需要一個(gè) SSH key含衔,它可以訪問(wèn)你的所有倉(cāng)庫(kù)普监,如果你將電腦上的 key 刪除了伟恶,重新生成一個(gè)就好了)
- 點(diǎn)擊綠色的 New SSH 按鈕
- 打開Git bash
- 復(fù)制并運(yùn)行 rm -rf ~/.ssh/* 把現(xiàn)有的 SSH key 都刪掉咖耘,這句命令行如果多打一個(gè)空格可能都要重裝系統(tǒng)了迅箩,建議復(fù)制運(yùn)行
- 運(yùn)行 ssh-keygen -t rsa -b 4096 -C "你的郵箱"(可參考https://help.github.com/articles/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent/)
- 按三次回車
- 運(yùn)行 cat ~/.ssh/id_rsa.pub 馋劈,完整復(fù)制得到的一串東西
- 回到上面第3步的頁(yè)面妹沙,在 Key 里粘貼你剛剛復(fù)制的那串東西
- Title 可以隨便輸偶洋,比如 "我的第一個(gè)Key"
- 點(diǎn)擊綠色的 Add SSH key 按鈕
- 回到 Git bash
- 運(yùn)行 ssh -T git@github.com ,看到提示 (yes/no)? 輸入yes 回車
- 如果你看到 Hi xxx ! You've successfully authenticated, but Github does not provide shell access. 就說(shuō)明你成功了距糖!
如果你看到 Permission denied (publickey) . 就說(shuō)明你失敗了玄窝,回到第1步,重悍引!來(lái)吗铐!
使用Git
1 創(chuàng)建本地倉(cāng)庫(kù)
1.1 初始化 Init
- mkdir git_demo
- cd git_demo
- git init 初始化本地倉(cāng)庫(kù)镊逝,這句命令會(huì)在git_demo 創(chuàng)建一個(gè) .git 目錄,不要點(diǎn)開
- ls -al / la
- 在 git_demo 目錄添加任意文件,如 touch index.html 拓萌,mkdir css 品嚣,touch css/style.css
- git status -sb 顯示當(dāng)前所有文件狀態(tài),紅色的??表示 git 一臉懵逼劣挫,不確定你要怎么做
- git add 將文件添加到 [暫存區(qū)]
i. one by one
git add index.html
git add css/style.css
ii. or
git add . (.表示當(dāng)前目錄) - git status -sb ,紅色??變成了綠色的A,表示git知道你要把他們添加到倉(cāng)庫(kù)里
- git commit -m "注釋,說(shuō)明等"氧敢,正式提交到本地倉(cāng)庫(kù)
i. one by one
git commit index.html -m "添加index.html"
git commit css/style.css -m "添加css/style.css"
ii. or
git commit . -m "添加了幾個(gè)文件" - git status -sb
- git log 查看變更歷史
1.2 文件變動(dòng) Modified
- start css/style.css (macOS 是 open xxx)唯袄,默認(rèn)編輯器打開文件
- 寫入 body {background: grey;}季俩,保存退出
- git status -sb酪我,提示的紅色M是Modified都哭,表示這個(gè)文件被修改了
- git add css/style.css OR git add . (由于這個(gè)css/style.css 之前有add過(guò),所以這一步其實(shí)是可以省略的,但是建議新手暫時(shí)不要欺矫,每次都先 add 再 commit)
- git status -sb 紅色M變成了綠色
- git commit . -m "更新css/style.css"纱新,改動(dòng)就提交到了.git本地倉(cāng)庫(kù),不要點(diǎn)開
- git status -sb 沒(méi)有變更了(-sb的意思是SB都能看懂穆趴,恩脸爱,是的,summary 和 branch)
1.3 總結(jié) Summary
- git init未妹,初始化本地倉(cāng)庫(kù) .git
- git status -sb簿废,顯示當(dāng)前所以文件狀態(tài)
- git add xxx,添加到暫存區(qū)
- git commit xxx -m "xxx"络它,提交變動(dòng)至 .git 倉(cāng)庫(kù)
- git log 查看變更歷史
2 上傳本地倉(cāng)庫(kù)到Github
-
在 Github 新建一個(gè)空倉(cāng)庫(kù)族檬,名稱隨意,除了倉(cāng)庫(kù)名化戳,其他別改单料,其他別改,其他別改点楼,點(diǎn)擊綠色的 Create repository
其他別改 -
按Github 提示操作扫尖,點(diǎn)擊SSH,如圖
請(qǐng)點(diǎn)擊一下 SSH - 如果不點(diǎn)擊SSH盟步,你就會(huì)使用默認(rèn)的HTTPS地址藏斩,每次都要輸入密碼,特別麻煩却盘。而SSH 不用輸入用戶名密碼狰域,因?yàn)槟阋呀?jīng)上傳了 SSH public key
- 由于已經(jīng)有了本地倉(cāng)庫(kù),one by one黄橘,看圖
i. 復(fù)制第一行:git remote add origin git@github.com:ScottyWu/empty.git
ii. 復(fù)制第二行:git push -u origin master - 看到 [new branch]就上傳成功了兆览,刷新Github頁(yè)面就好了
3 下載 Github 遠(yuǎn)程倉(cāng)庫(kù)到本地
-
在Github 上新建一個(gè)倉(cāng)庫(kù)(不是空倉(cāng)庫(kù))not_empty,自帶 README 和 Lisence 的倉(cāng)庫(kù)塞关,如圖
不是空倉(cāng)庫(kù) -
這樣就會(huì)自帶3個(gè)文件
3個(gè)文件 - 三個(gè)文件的作用:.gitignore的作用 抬探、LICENSE的作用 以及README.md的作用
-
遠(yuǎn)程倉(cāng)庫(kù)已創(chuàng)建,點(diǎn)擊綠色按鈕 Clone and download 下載帆赢,注意 use SSH
Clone and download with SSH - 復(fù)制這個(gè) git@github.com 開頭的地址
- 打開 Git Bash小压,找一個(gè)安全的目錄,比如 ~/Desktop:cd ~/Desktop 運(yùn)行
- 運(yùn)行 git clone git@github.com開頭的地址椰于,注意怠益,桌面上會(huì)多出一個(gè)not_empty目錄
- 進(jìn)入這個(gè)目錄,進(jìn)入這個(gè)目錄瘾婿,進(jìn)入這個(gè)目錄
- ls -la蜻牢,你會(huì)看到烤咧,遠(yuǎn)程目錄的所有文件都在這里了,另外還有 .git 本地倉(cāng)庫(kù)抢呆,這樣你就可git add煮嫌,然后 git commit 了
上傳更新
在本地目錄有任何變動(dòng),只需按照以下順序上傳即可
git add xxx
git commit xxx -m "注釋"
git pull (遠(yuǎn)程倉(cāng)庫(kù)有更新)
git push
例子
cd not_empty
touch index2.html
git add index2.html
git commit . -m "添加index2.html"
git pull
git push
然后添加的 index2.html 就出現(xiàn)在 github 了
使用Github Pages 預(yù)覽 HTML
-
新建一個(gè)帶有HTML文件的倉(cāng)庫(kù)抱虐,或者打開有HTML文件的倉(cāng)庫(kù)昌阿,比如在not_empty 倉(cāng)庫(kù)新建一個(gè) notempty.html,點(diǎn)擊右邊的settingssettings
-
下拉梯码,在Github Pages 的 source 選項(xiàng)選擇 master branch宝泵,然后點(diǎn)擊save好啰,右上角會(huì)生成一個(gè)類似這樣的鏈接https://xxxx.github.io/xxxx/
master branch 訪問(wèn)https://xxxx.github.io/xxxx/notempty.html 即可預(yù)覽所建的HTML文件(預(yù)覽鏈接不能直接訪問(wèn)轩娶,后面需要加上你所建立的html文件名以及后綴)
git ignore
在項(xiàng)目目錄創(chuàng)建 .gitignore 文件就可以指定 [哪些文件不上傳到遠(yuǎn)程倉(cāng)庫(kù)],比如
.gitignore
/node_modules/
/.vscode/
這樣就可以避免 node_modules/ 和 .vscode/ 目錄被上傳到 github
永遠(yuǎn)都不要上傳 node_modules 到 github
防止手賤上傳 node_modules 框往,可以:
- 在項(xiàng)目根目錄 touch .gitignore
- 在 .gitignore 里添加一行 /node_modules/
- git add .gitignore ; git commit . -m "ignore"
其他
還有一些有用的命令
- git remote add origin git@github.com:xxxxxx.git 將本地倉(cāng)庫(kù)與遠(yuǎn)程倉(cāng)庫(kù)關(guān)聯(lián)
- git remote set-url origin git@github.com:xxxxxx.git 上一步手抖了鳄抒,可以挽回
- git branch 新建分支
- git merge 合并分支
- git stash 通靈術(shù)
- git stash pop 反轉(zhuǎn)通靈術(shù)
- git revert 后悔了
- git reset 另一種后悔
- git diff 查看詳細(xì)變化