GitHub 與 git 的簡(jiǎn)介
GitHub 是通過(guò) Git 進(jìn)行版本控制的軟件源代碼托管服務(wù)。
2018年6月4日晚上,美國(guó)科技公司微軟宣布以 75 億美元的股票收購(gòu)GitHub。
git 是一個(gè)分布式版本控制軟件
配置 GitHub
- 點(diǎn)擊『New SSH key』
- title隨便寫(xiě)
- 終端運(yùn)行
ssh-keygen -t rsa -b 4096 -C "郵箱"
- 運(yùn)行
cat ~/.ssh/id_rsa.pub
,得到 ssh习贫,復(fù)制粘貼到 key 里蹬耘,點(diǎn)擊 Add SSH key_ - 運(yùn)行
ssh -T git@github.com
碎连,回答 yes
好了否过,這樣就添加了一個(gè) SSH Key汽摹,關(guān)于其原理李丰,可看 這篇文章 。
配置 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"
使用 git
1. 建立本地倉(cāng)庫(kù)
- 在創(chuàng)建git-demo目錄
mkdir git-demo
cd git-demo
git init
- 在git-demo目錄里運(yùn)行
touch index.html
- 運(yùn)行
git status -sb
可以看到文件前面有 ?? - 運(yùn)行
git add .
git commit -m "第一次提交"
-
git pull
先把 github 上的文件拉下來(lái)(一般可忽略) -
git push
推上去
2. 將本地倉(cāng)庫(kù)上傳到 github
- 先確保有本地倉(cāng)庫(kù)逼泣,再在github上創(chuàng)建一個(gè)倉(cāng)庫(kù)
- name 和電腦上的目錄名一樣趴泌,其他東西不動(dòng),創(chuàng)建
- 點(diǎn)擊SSH地址拉庶!然后復(fù)制頁(yè)面上這行代碼運(yùn)行
git remote add origin git@github.com:xxxxxxxxx/git-demo-1.git
- 復(fù)制第二行
git push -u origin master
運(yùn)行
3. 在 github 上創(chuàng)建倉(cāng)庫(kù)并下載
- 創(chuàng)建時(shí)勾選 initialize this …嗜憔,Add .gitignore 選 node,Add a license 選 MIT License
- 進(jìn)入倉(cāng)庫(kù)點(diǎn)右上角綠色 clone or download
- 點(diǎn) use SSH氏仗,并復(fù)制下面的地址
- 終端進(jìn)入桌面運(yùn)行
git clone 地址
吉捶,于是將倉(cāng)庫(kù)下到了電腦上 - 進(jìn)入文件夾
git init
,初始化本地倉(cāng)庫(kù)
git 常用命令
- 增加/刪除
添加指定文件到暫存區(qū)
$ git add [file1] [file2] ...
添加指定目錄到暫存區(qū)皆尔,包括子目錄
$ git add [dir]
添加當(dāng)前目錄的所有文件到暫存區(qū)
$ git add .
添加每個(gè)變化前呐舔,都會(huì)要求確認(rèn)
對(duì)于同一個(gè)文件的多處變化,可以實(shí)現(xiàn)分次提交
$ git add -p
刪除工作區(qū)文件慷蠕,并且將這次刪除放入暫存區(qū)
$ git rm [file1] [file2] ...
停止追蹤指定文件珊拼,但該文件會(huì)保留在工作區(qū)
$ git rm --cached [file]
改名文件,并且將這個(gè)改名放入暫存區(qū)
$ git mv [file-original] [file-renamed]
- 提交
提交暫存區(qū)到倉(cāng)庫(kù)區(qū)
$ git commit -m [message]
提交暫存區(qū)的指定文件到倉(cāng)庫(kù)區(qū)
$ git commit [file1] [file2] ... -m [message]
提交工作區(qū)自上次commit之后的變化流炕,直接到倉(cāng)庫(kù)區(qū)
$ git commit -a
提交時(shí)顯示所有diff信息
$ git commit -v
使用一次新的commit澎现,替代上一次提交
如果代碼沒(méi)有任何新變化,則用來(lái)改寫(xiě)上一次commit的提交信息
$ git commit --amend -m [message]
重做上一次commit每辟,并包括指定文件的新變化
$ git commit --amend [file1] [file2] ...