一.如何配置SSH公鑰
- 生成公鑰
生成公鑰文檔中嘹害,
將ssh-keygen -t rsa -b 4096 -C "your_email@example.com"的郵箱替換成自己的郵箱
如 *** ssh-keygen -t rsa -b 4096 -C 751934754@qq.com ***
- 在github/setting/SSH ... keys創(chuàng)建公鑰,將上面生成的公鑰復(fù)制到key中
二.如何使用github
方法1:在github上創(chuàng)建一個(gè)空的遠(yuǎn)程倉(cāng)庫(kù)罩驻,然后clone到本地代碼所在目錄
- git clone 遠(yuǎn)程倉(cāng)庫(kù)地址
- touch new.txt, vim編輯內(nèi)容
- git add new.txt(或git add .)
每次本地文件改變兴使,都需要重新add改動(dòng)的文件
add 的是 文件的改動(dòng)
add可以開(kāi)啟文件跟蹤米酬,commit只提交add的文件
- git commit -m "更新內(nèi)容" (或git commit , vim編輯提交信息)
將變動(dòng)提交到本地git倉(cāng)庫(kù)
- git push origin master:master
方法2:在本地創(chuàng)建倉(cāng)庫(kù)佃蚜,然后push到遠(yuǎn)程空倉(cāng)庫(kù)
- git init
- git touch new.txt, vim編輯內(nèi)容
- git add new.txt
- git commit -m "change info"
- git remote add origin "遠(yuǎn)程倉(cāng)庫(kù)地址"
- 提交到遠(yuǎn)程倉(cāng)庫(kù)
git push origin master:master
或 git push --set--upstream origin master == git push -u origin master(下次直接git push)
或著git config --global push.default matching(下次直接git push蝉揍,前提遠(yuǎn)程有master分支)
三.將遠(yuǎn)程倉(cāng)庫(kù)中的變化同步到本地倉(cāng)庫(kù)
1.pull:下載遠(yuǎn)程倉(cāng)庫(kù)中的代碼链峭,并放入工作目錄中
git pull origin master(如果設(shè)置好origin master,則直接git pull)
注意:在push之前如果遠(yuǎn)程倉(cāng)庫(kù)已經(jīng)改動(dòng)又沾,則必須先pull
2.fetch + merge
- ** fetch :只下載代碼到本地倉(cāng)庫(kù)弊仪,并不**放入工作目錄中
git fetch origin master(如果設(shè)置好origin master,則直接git fetch ) - ** merge **:將本地倉(cāng)庫(kù)中的內(nèi)容杖刷,合并到工作目錄中(即把fetch的東西放入工作目錄)
四.解決沖突(pull之后可能會(huì)出現(xiàn)沖突)
- <<<HEAD 與 >>>... 之間就是沖突的代碼塊
- *** ===== *** 上面是本地代碼励饵,下面是遠(yuǎn)程代碼
- 利用git status 查詢pull后的代碼是否有沖突,如果出現(xiàn)uu README.md表示這個(gè)文件有沖突
- 解決沖突代碼塊
- git add .
- git commit -v (比 git commit -m 的好處是更清楚自己在做什么)
五.常用的查看命令
- git status -sb:查看git所跟蹤的文件的狀態(tài)信息(簡(jiǎn)化版)
- git log:查看commit歷史
- git remote -v:查看 遠(yuǎn)程倉(cāng)庫(kù)的地址
- git branch -v:查看本地分支(和分支的最后操作)
- git branch -a:查看所有分支(包括本地分支和遠(yuǎn)程分支)
六.分支:
- 創(chuàng)建本地分支:git branch 分支名
- 切換本地分支:git checkout 分支名
- 刪除本地分支:git branch -d 分支名
若該本地分支已經(jīng)commit新的內(nèi)容挺勿,則需要與當(dāng)前本地分支合并后曲横,才能刪除
- 強(qiáng)制刪除本地分支(即使commit后沒(méi)有合并):git branch -D 分支名
- 提交本地代碼到服務(wù)器:
git push origin 本地分支名:遠(yuǎn)程分支名
- 刪除遠(yuǎn)程分支:
git push origin :遠(yuǎn)程分支名
提示:他相當(dāng)于將空的內(nèi)容提交到遠(yuǎn)程分支,即刪除了該遠(yuǎn)程分支
- 合并分支:git merge 分支名(會(huì)將該分支合并到當(dāng)前分支上)
七.重置reset:
- 僅head指向舊的版本
git log 查看版本號(hào)
git reset 版本號(hào)
- 不僅head指向舊的版本不瓶,硬盤上的文件內(nèi)容也復(fù)原到舊的版本
git log 查看版本號(hào)
git reset --hard 版本號(hào)
- 當(dāng)進(jìn)行操作2錯(cuò)誤時(shí)禾嫉,想復(fù)原到之前的版本
git reflog 查看head中保存的版本號(hào)
git reset --hard 版本號(hào)