傳說中g(shù)it與github

本文旨在通俗的有目的地去使用git與github
不得不說,剛開始聽說這兩個東西的時候,感覺那是大神才用,而我這種小菜鳥是學(xué)不會,工作也用不到了。抱著這種心態(tài)畢業(yè)兩年了,什么都沒有學(xué)會,我開始慌了,便辭職開始了前端的路。
在前端接觸的東西真是太多太多了,學(xué)習(xí)了自己不曾學(xué)過的很多東西,github幾乎是所有公司都會問和要求的一個東西。所以自己便注冊了一個開始了鼓搗。
git無非是個項目管理工具,它是分布式的等等很多優(yōu)點,我也不再說。我為什么要學(xué)習(xí)它呢,也不是工作用到了,而是在想別人github上的文件為什么都是有格式,看起來那么漂亮,而自己寫的卻那么low。我想應(yīng)該是他們都用git整到本地然后再傳上去的吧(事實卻不是),所以就有了以下學(xué)習(xí)經(jīng)歷:
首先保證你的電腦上安裝了git;
新建一個空文件夾,在該目錄下操作,

$ mkdir learngit
$ cd learngit

1、初始化一個Git倉庫,使用git init命令,然后你會發(fā)你建的目錄多了很多文件
在該目錄下新建文件README.MD,提交分兩步:
第一步,添加文件到暫存區(qū)

git add README.MD

注意, 該命可多次使用添加多個文件
第二步,提交所有添加的文件完成修改, 提交信息必須填寫

git commit -m "submit message"

2、查看當(dāng)前倉庫文件修改
使用git status命令隨時掌握工作區(qū)的狀態(tài)。
如果git status告訴你有文件被修改過,用git diff可以查看修改內(nèi)容。

3、
HEAD指向的版本就是當(dāng)前版本,因此,Git允許我們在版本的歷史之間穿梭,使用命令

git reset --hard commit_id。

穿梭前,用git log可以查看提交歷史,以便確定要回退到哪個版本。
要重返未來,用git reflog查看命令歷史,以便確定要回到未來的哪個版本。

4、
場景1:當(dāng)你改亂了工作區(qū)某個文件的內(nèi)容,想直接丟棄工作區(qū)的修改時,用命令

git checkout -- file。

場景2:當(dāng)你不但改亂了工作區(qū)某個文件的內(nèi)容,還添加到了暫存區(qū)時,想丟棄修改,分兩步,第一步用命令

git reset HEAD file

就回到了場景1,第二步按場景1操作。
場景3:已經(jīng)提交了不合適的修改到版本庫時,想要撤銷本次提交,參考版本回退一節(jié),不過前提是沒有推送到遠(yuǎn)程庫。

5、
命令git rm用于刪除一個文件。如果一個文件已經(jīng)被提交到版本庫,那么你永遠(yuǎn)不用擔(dān)心誤刪,但是要小心,你只能恢復(fù)文件到最新版本,你會丟失最近一次提交后你修改的內(nèi)容。

重點來了,關(guān)聯(lián)github

6、
創(chuàng)建SSH Key。在用戶主目錄下,看看有沒有.ssh目錄,如果有,再看看這個目錄下有沒有id_rsa
和id_rsa.pub這兩個文件,如果已經(jīng)有了,可直接跳到下一步。如果沒有,打開Shell(Windows下打開Git Bash),創(chuàng)建SSH Key:$ ssh-keygen -t rsa -C "youremail@example.com"
你需要把郵件地址換成你自己的郵件地址,然后一路回車,使用默認(rèn)值即可,由于這個Key也不是用于軍事目的,所以也無需設(shè)置密碼。
如果一切順利的話,可以在用戶主目錄里找到.ssh目錄,里面有id_rsa和id_rsa.pub兩個文件,這兩個就是SSH Key的秘鑰對,id_rsa是私鑰,不能泄露出去,id_rsa.pub是公鑰,可以放心地告訴任何人。
第2步:登陸GitHub,打開“Account settings”,“SSH Keys”頁面:
然后,點“Add SSH Key”,填上任意Title,在Key文本框里粘貼id_rsa.pub文件的內(nèi)容就ok了
需要注意的是:每當(dāng)在一臺新的電腦使用git都需要此操作

7、
要關(guān)聯(lián)一個遠(yuǎn)程庫,使用命令

git remote add origin git@server-name:path/repo-name.git

報錯解決方案:$ git remote rm origin關(guān)聯(lián)后,使用命令git push -u origin master第一次推送master分支的所有內(nèi)容;
此后,每次本地提交后,只要有必要,就可以使用命令git push origin master
推送最新修改;

8、

兩種克隆倉庫方式

要克隆一個倉庫,首先必須知道倉庫的地址,然后使用git clone命令克隆。

git clone git@github.com:kongzhexin/kongzhexin.github.io.git  
git clone git@https://github.com/kongzhexin/kongzhexin.github.io.git

命令后可以加到文件后的文件夾名稱
但通過ssh支持的原生git協(xié)議速度最快。

9、
當(dāng)Git無法自動合并分支時,就必須首先解決沖突。解決沖突后,再提交,合并完成。

git checkout  -b   feature    新建分支  
git checkout feature          切換分支
git branch -d  feature        刪除分支
git merge feature             合并分支
git add  readme.txt
git commit  -m " "
git log --graph   命令可以看到分支合并圖。

10、
修復(fù)bug時,我們會通過創(chuàng)建新的bug分支進(jìn)行修復(fù),然后合并,最后刪除;
當(dāng)手頭工作沒有完成時,先把工作現(xiàn)場git stash一下,然后去修復(fù)bug,修復(fù)后,再git stash pop,回到工作現(xiàn)場。

11、
開發(fā)一個新feature,最好新建一個分支;
如果要丟棄一個沒有被合并過的分支,可以通過git branch -D <name>強(qiáng)行刪除

12、
查看遠(yuǎn)程庫信息,使用git remote -v;
本地新建的分支如果不推送到遠(yuǎn)程,對其他人就是不可見的;
從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠(yuǎn)程的新提交;
在本地創(chuàng)建和遠(yuǎn)程分支對應(yīng)的分支,使用git checkout -b branch-name origin/branch-name,本地和遠(yuǎn)程分支的名稱最好一致;
建立本地分支和遠(yuǎn)程分支的關(guān)聯(lián),使用git branch --set-upstream branch-name origin/branch-name;
從遠(yuǎn)程抓取分支,使用git pull,如果有沖突,要先處理沖突。
以上便是基本的用法就介紹完了,更詳細(xì)的用法解釋可以去廖雪峰大神的官網(wǎng)學(xué)習(xí),能學(xué)到很多東西。
上面說的他們用的是Markdown語法,我便去學(xué)習(xí)了一下很簡單,也寫出了還算漂亮的README.MD文檔,這個網(wǎng)上也有很多教程,自己搜一下吧。
我的gitbub地址:https://github.com/kongzhexin
個人博客地址:https://kongzhexin.github.io(新建的后續(xù)會寫一個教程)
參考:廖雪峰官網(wǎng)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.git的安裝 1.1 在Windows上安裝Git msysgit是Windows版的Git,從https:/...
    落魂灬閱讀 12,813評論 4 54
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,835評論 9 163
  • 時光荏苒 依舊無法從重復(fù)中覺醒 日落歸西 夢沉海底 對,有無數(shù)的理由為我擺脫一無是處的事實 忘掉丑惡的過去,不過是...
    ONLY4度閱讀 349評論 0 0
  • 背景說明 在簡書iOS App端,去年就上線了設(shè)置性別的功能,web已于年初上線了該功能,然而設(shè)置過性別的人并不多...
    悠久的旅人閱讀 435評論 4 0
  • 依稀記得,純且白…… 就像七月的梔子花純潔而潔白 這便是開始,跳動的歡樂,響徹于走廊, 迎風(fēng)而動,是那潔白的百褶裙...
    490826ff7d85閱讀 256評論 0 0

友情鏈接更多精彩內(nèi)容