Git 和Github 操作

配置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


  1. 進(jìn)入 https://github.com/settings/keys
  2. 刪除已有的 SSH key(一個(gè)電腦只需要一個(gè) SSH key含衔,它可以訪問(wèn)你的所有倉(cāng)庫(kù)普监,如果你將電腦上的 key 刪除了伟恶,重新生成一個(gè)就好了)
  3. 點(diǎn)擊綠色的 New SSH 按鈕
  4. 打開Git bash
  5. 復(fù)制并運(yùn)行 rm -rf ~/.ssh/* 把現(xiàn)有的 SSH key 都刪掉咖耘,這句命令行如果多打一個(gè)空格可能都要重裝系統(tǒng)了迅箩,建議復(fù)制運(yùn)行
  6. 運(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/
  7. 按三次回車
  8. 運(yùn)行 cat ~/.ssh/id_rsa.pub 馋劈,完整復(fù)制得到的一串東西
  9. 回到上面第3步的頁(yè)面妹沙,在 Key 里粘貼你剛剛復(fù)制的那串東西
  10. Title 可以隨便輸偶洋,比如 "我的第一個(gè)Key"
  11. 點(diǎn)擊綠色的 Add SSH key 按鈕
  12. 回到 Git bash
  13. 運(yùn)行 ssh -T git@github.com ,看到提示 (yes/no)? 輸入yes 回車
  14. 如果你看到 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

  1. mkdir git_demo
  2. cd git_demo
  3. git init 初始化本地倉(cāng)庫(kù)镊逝,這句命令會(huì)在git_demo 創(chuàng)建一個(gè) .git 目錄,不要點(diǎn)開
  4. ls -al / la
  5. 在 git_demo 目錄添加任意文件,如 touch index.html 拓萌,mkdir css 品嚣,touch css/style.css
  6. git status -sb 顯示當(dāng)前所有文件狀態(tài),紅色的??表示 git 一臉懵逼劣挫,不確定你要怎么做
  7. git add 將文件添加到 [暫存區(qū)]
    i. one by one
    git add index.html
    git add css/style.css
    ii. or
    git add . (.表示當(dāng)前目錄)
  8. git status -sb ,紅色??變成了綠色的A,表示git知道你要把他們添加到倉(cāng)庫(kù)里
  9. 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è)文件"
  10. git status -sb
  11. git log 查看變更歷史

1.2 文件變動(dòng) Modified

  1. start css/style.css (macOS 是 open xxx)唯袄,默認(rèn)編輯器打開文件
  2. 寫入 body {background: grey;}季俩,保存退出
  3. git status -sb酪我,提示的紅色M是Modified都哭,表示這個(gè)文件被修改了
  4. git add css/style.css OR git add . (由于這個(gè)css/style.css 之前有add過(guò),所以這一步其實(shí)是可以省略的,但是建議新手暫時(shí)不要欺矫,每次都先 add 再 commit)
  5. git status -sb 紅色M變成了綠色
  6. git commit . -m "更新css/style.css"纱新,改動(dòng)就提交到了.git本地倉(cāng)庫(kù),不要點(diǎn)開
  7. git status -sb 沒(méi)有變更了(-sb的意思是SB都能看懂穆趴,恩脸爱,是的,summary 和 branch)

1.3 總結(jié) Summary

  1. git init未妹,初始化本地倉(cāng)庫(kù) .git
  2. git status -sb簿废,顯示當(dāng)前所以文件狀態(tài)
  3. git add xxx,添加到暫存區(qū)
  4. git commit xxx -m "xxx"络它,提交變動(dòng)至 .git 倉(cāng)庫(kù)
  5. git log 查看變更歷史

2 上傳本地倉(cāng)庫(kù)到Github


  1. 在 Github 新建一個(gè)空倉(cāng)庫(kù)族檬,名稱隨意,除了倉(cāng)庫(kù)名化戳,其他別改单料,其他別改,其他別改点楼,點(diǎn)擊綠色的 Create repository


    其他別改
  2. 按Github 提示操作扫尖,點(diǎn)擊SSH,如圖


    請(qǐng)點(diǎn)擊一下 SSH
  3. 如果不點(diǎn)擊SSH盟步,你就會(huì)使用默認(rèn)的HTTPS地址藏斩,每次都要輸入密碼,特別麻煩却盘。而SSH 不用輸入用戶名密碼狰域,因?yàn)槟阋呀?jīng)上傳了 SSH public key
  4. 由于已經(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
  5. 看到 [new branch]就上傳成功了兆览,刷新Github頁(yè)面就好了

3 下載 Github 遠(yuǎn)程倉(cāng)庫(kù)到本地


  1. 在Github 上新建一個(gè)倉(cāng)庫(kù)(不是空倉(cāng)庫(kù))not_empty,自帶 README 和 Lisence 的倉(cāng)庫(kù)塞关,如圖


    不是空倉(cāng)庫(kù)
  2. 這樣就會(huì)自帶3個(gè)文件


    3個(gè)文件
  3. 三個(gè)文件的作用:.gitignore的作用 抬探、LICENSE的作用 以及README.md的作用
  4. 遠(yuǎn)程倉(cāng)庫(kù)已創(chuàng)建,點(diǎn)擊綠色按鈕 Clone and download 下載帆赢,注意 use SSH


    Clone and download with SSH
  5. 復(fù)制這個(gè) git@github.com 開頭的地址
  6. 打開 Git Bash小压,找一個(gè)安全的目錄,比如 ~/Desktop:cd ~/Desktop 運(yùn)行
  7. 運(yùn)行 git clone git@github.com開頭的地址椰于,注意怠益,桌面上會(huì)多出一個(gè)not_empty目錄
  8. 進(jìn)入這個(gè)目錄,進(jìn)入這個(gè)目錄瘾婿,進(jìn)入這個(gè)目錄
  9. 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


  1. 新建一個(gè)帶有HTML文件的倉(cāng)庫(kù)抱虐,或者打開有HTML文件的倉(cāng)庫(kù)昌阿,比如在not_empty 倉(cāng)庫(kù)新建一個(gè) notempty.html,點(diǎn)擊右邊的settings
    settings
  2. 下拉梯码,在Github Pages 的 source 選項(xiàng)選擇 master branch宝泵,然后點(diǎn)擊save好啰,右上角會(huì)生成一個(gè)類似這樣的鏈接https://xxxx.github.io/xxxx/

    master branch

  3. 訪問(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 框往,可以:

  1. 在項(xiàng)目根目錄 touch .gitignore
  2. 在 .gitignore 里添加一行 /node_modules/
  3. 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ì)變化

資源

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末椰弊,一起剝皮案震驚了整個(gè)濱河市许溅,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌秉版,老刑警劉巖贤重,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異清焕,居然都是意外死亡并蝗,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門秸妥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)滚停,“玉大人,你說(shuō)我怎么就攤上這事粥惧〖耄” “怎么了?”我有些...
    開封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵突雪,是天一觀的道長(zhǎng)起惕。 經(jīng)常有香客問(wèn)我,道長(zhǎng)咏删,這世上最難降的妖魔是什么惹想? 我笑而不...
    開封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮饵婆,結(jié)果婚禮上勺馆,老公的妹妹穿的比我還像新娘戏售。我一直安慰自己,他們只是感情好草穆,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開白布灌灾。 她就那樣靜靜地躺著,像睡著了一般悲柱。 火紅的嫁衣襯著肌膚如雪锋喜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天豌鸡,我揣著相機(jī)與錄音嘿般,去河邊找鬼。 笑死涯冠,一個(gè)胖子當(dāng)著我的面吹牛炉奴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蛇更,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼瞻赶,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了派任?” 一聲冷哼從身側(cè)響起砸逊,我...
    開封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤掌逛,失蹤者是張志新(化名)和其女友劉穎师逸,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豆混,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篓像,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了崖叫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遗淳。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖心傀,靈堂內(nèi)的尸體忽然破棺而出屈暗,到底是詐尸還是另有隱情,我是刑警寧澤脂男,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布养叛,位于F島的核電站,受9級(jí)特大地震影響宰翅,放射性物質(zhì)發(fā)生泄漏弃甥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一汁讼、第九天 我趴在偏房一處隱蔽的房頂上張望淆攻。 院中可真熱鬧阔墩,春花似錦、人聲如沸瓶珊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)伞芹。三九已至忘苛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唱较,已是汗流浹背扎唾。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留南缓,地道東北人胸遇。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像西乖,于是被迫代替她去往敵國(guó)和親狐榔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坛增,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 配置 GitHub 進(jìn)入 Github的SSH keys 如果頁(yè)面里已經(jīng)有一些 key获雕,就點(diǎn)「delete」按鈕把...
    鷓鴣少閱讀 622評(píng)論 0 0
  • 配置 GitHub 進(jìn)入 https://github.com/settings/keys 如果頁(yè)面里已經(jīng)有一些 ...
    joker731閱讀 255評(píng)論 0 0
  • 配置 GitHub 進(jìn)入 https://github.com/settings/keys 如果頁(yè)面里已經(jīng)有一些 ...
    半齋閱讀 284評(píng)論 0 1
  • 沉默,是不想過(guò)問(wèn)收捣,不想辯論届案,不想?yún)⑴c。也因?yàn)椴幌胝f(shuō)罢艾,懶得說(shuō)楣颠,不必說(shuō)的狀態(tài)被形容成冰,冷的讓人無(wú)法靠近咐蚯。是自我保護(hù)童漩,...
    邢淺閱讀 133評(píng)論 0 1
  • 你胖了 可能有20斤,30斤 我就奇怪了 為什么我還能認(rèn)得出你 于是我走上前 問(wèn)你 為什么我還能認(rèn)得出你 為什么春锋?
    留子堯閱讀 204評(píng)論 0 4