當你不理解一段代碼什麼意思的時候,你會用就好。時間久了你會懂的。css
2015年本身剛學前端的時候,使用git bash 上傳代碼到github時困難的要死。好多東西不明白不理解。隨着工做的積累,如今回頭本身隨便wanwan2半小時就配置好了。如今整理好教程。一個是爲了驗證一句話。一個是爲後來者挖好井。html
進入 https://github.com/settings/keys前端
rm -rf ~/.ssh/*
把現有的 ssh key 都刪掉,這句命令行若是你多打一個空格,可能就要重裝系統了,建議複製運行。ssh-keygen -t rsa -b 4096 -C "你的郵箱"
,注意填寫你的郵箱!cat ~/.ssh/id_rsa.pub
,獲得一串東西,完整的複製這串東西ssh -T git@github.com
,你可能會看到這樣的提示:Permission denied (publickey).
就說明你失敗了,請回到第 1 步重來,是的,回到第 1 步重來;若是你看到 Hi FrankFang! You've successfully authenticated, but GitHub does not provide shell access.
就說明你成功了!好了,終於 TMD 添加了一個無聊的 SSH key,不要問我這個有什麼用,由於一下子你就會用到它,你想了解原理就看這篇 文章git
若是要講清楚,太浪費時間了,咱們只是想用用 GitHub 而已。github
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"
五句話,依次運行。不執行的話,電腦可能會爆炸你信不信。shell
使用 git 有三種方式,請按照你的需求選擇vim
mkdir git-demo-1
cd git-demo-1
git init
,這句命令會在 git-demo-1 裏建立一個 .git 目錄ls -la
你就會看到 .git 目錄,它就是一個「倉庫」,不要進去看,這倉庫裏面有毒,別進去!touch index.html
mkdir css
touch css/style.css
git status -sb
能夠看到文件前面有 ?? 號 ## Initial commit on master ?? css/ ?? index.html這個 ?? 表示 git 一臉懵逼,不知道你要怎麼對待這些變更。
git add index.html
git add css/style.css
git add .
意思是把當前目錄(.表示當前目錄)裏面的變更都加到「暫存區」git status -sb
,能夠看到 ?? 變成了 A ## Initial commit on master A css/style.css A index.htmlA 的意思就是添加,也就是說你告訴 git,這些文件我要加到倉庫裏
git commit index.html -m '添加index.html'
git commit css/style.css -m "添加 css/style.css"
git commit . -m "添加了幾個文件"
git status -sb
,發現沒有文件變更了,這是由於文件的變更已經記錄在倉庫裏了。這時你使用 git log 就能夠看到歷史上的變更:安全
commit f0d95058cd32a332b98967f6c0a701c64a00810a Author: frankfang <frankfang1990@gmail.com> Date: Thu Sep 28 22:30:43 2017 +0800 添加幾個文件
若是我想繼續改文件,應該怎麼作呢?bash
start css/style.css
會使用默認的編輯器打開 css/style.css(macOS 上對應的命令是 open css/style.css
)body {background: red}
,保存退出git status -sb
發現提示中有一個 M ## master M css/style.css這個 M 的意思就是 Modified,表示這個文件被修改了
git add css/style.css
或者也能夠 git add .
git status -sb
發現 M 有紅色變成了綠色,紅色和綠色有啥區別呢?別管它們的區別,記住我說的,先 add,再 commit,等你熟練以後再去理解區別。git commit -m "更新 css/style.css"
,這個改動就被提交到 .git 本地倉庫了。再說一次,不要去 .git 目錄裏面,那裏的東西你一無所知。git status -sb
,會發現沒有變動了,這說明全部變更都被本地倉庫記錄在案了。git status -sb
是什麼意思:git status 是用來顯示當前的文件狀態的,哪一個文件變更了,方便你進行 git add 操做。-sb 選項的意思就是,SB都能看懂,哈,這是開玩笑,-s 的意思是顯示總結(summary),-b 的意思是顯示分支(branch),因此 -sb 的意思是顯示總結和分支。至此,咱們來總結一下用到的命令ssh
如何將咱們這個 git-demo-1 上傳到 GitHub 呢?
git remote add origin https://github.com/xxxxxxxxxx/git-demo-1.git
, 若是你發現這個地址是 https 開頭的,那你就作錯了,還記得嗎,咱們要使用 SSH 地址,GitHub 的 SSH 地址是以 git@github.com 開頭的。git remote add origin git@github.com:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/git-demo-1.git
,複製並運行它git push -u origin master
,運行它上面兩步講了
這裏將第三種用法,那就是直接在 GitHub 建立一個倉庫,而後下載到本地。
cd ~/Desktop
。運行。git clone 你剛纔獲得的以git@github.com開頭的地址
,運行完了你就會發現,桌面上多出一個 git-demo-2 目錄。我再說一遍,桌面上多出一個 git-demo-2 目錄。我再說一遍,桌面上多出一個 git-demo-2 目錄。這個細節很重要,不少小白髮現不了這個細節,我也不知道他們是眼瞎仍是怎麼了……ls -la
你會看到,遠程目錄的全部文件都在這裏出現了,另外你還看到了 .git 本地倉庫。這是你就能夠添加文件,git add,而後 git commit 了。三種方式都說完了,它們分別是:
其實呢,我還能夠說不少種不一樣的方式,可是,你記住這幾種就好了,夠你用的了。咱們並不想要了解 git 的全部高級用法,咱們的目的很明確:能經過 Git 命令使用 GitHub 就行。
咱們再回顧一遍已經學到的命令:(此次只多了一個 git clone 命令)
在本地任意一個文件夾中,Git init 初始化本地倉庫 會出現一個.git 。 而後經過git remote add origin git@github.com:your name/repository name.git。與遠程倉庫創建連接。創建成功沒有反應、接下來你須要git pull origin master 先把遠程文件下載下來、Git status 看下狀態。沒有再遠程倉庫的就會變成紅色,接下來就是:Git add Git commit -m Git push -u origin master(第一次須要,之後直接git push )。
你在本地目錄有任何變更,只需按照如下順序就能上傳:
下面是例子
cd git-demo-1
touch index2.html
git add index2.html
git commit -m "新建 index2.html"
git pull
git push
而後你去 git-demo-1 的 GitHub 頁面,就能看到 index2.html 出如今裏面了。是否是很……簡……單……呢……
還有一些有用的命令
git remote add origin git@github.com:xxxxxxx.git
將本地倉庫與遠程倉庫關聯git remote set-url origin git@github.com:xxxxx.git
上一步手抖了,能夠用這個命令來挽回git branch
新建分支git merge
合併分支git stash
通靈術git stash pop
反轉通靈術git revert
後悔了git reset
另外一種後悔了git diff
查看詳細變化學 git 命令都夠大家學一週的,因此別妄想如今就掌握它,切記。
注意只能預覽 HTML,不能預覽 Markdown。
「<h1>這是一個HTML</h1>」