git的基本使用

1.創(chuàng)建倉(cāng)庫(kù)
  • 登錄 github首頁(yè)
    start a project ,寫上名字,選擇SSH 驗(yàn)證方式即可。
2. 克隆倉(cāng)庫(kù)

使用 git bash,進(jìn)入一個(gè)工作目錄,執(zhí)行命令:
git clone git@github.com:gaoyx/AutoTest.git
這時(shí)候會(huì)報(bào)一個(gè)錯(cuò)誤:

Cloning into 'AutoTest'...
The authenticity of host 'github.com (13.250.177.223)' can't be established.

百度了一下,是因?yàn)樯倭艘粋€(gè)known_hosts文件,本來密鑰文件應(yīng)該是三個(gè),現(xiàn)在是兩個(gè),便報(bào)了這樣的錯(cuò)誤,此時(shí)選擇yes回車之后,便可,同時(shí)生成了缺少了的known_hosts文件。 AutoTest 倉(cāng)庫(kù)也可以成功克隆下來了。

3. push(推送)代碼
  • 在倉(cāng)庫(kù)里面新建一個(gè)內(nèi)容:vi qa.txt ,寫入aaa ,保存。
  • 查看有哪些改動(dòng) git status,出現(xiàn)如下:
    image.png
  • 使用 git add qa.txt 把文件添加到暫存區(qū)。git add . 代表的是添加所有內(nèi)容
  • 提交已經(jīng)被add進(jìn)來的改動(dòng). git commit -m "提交測(cè)試文件"
  • push到 git倉(cāng)庫(kù):git push
    提交成功后可以在github上看到提交的文件以及說明。
4. pull(拉?。┐a

git pull

5. 創(chuàng)建新的分支
  • 首先查看下當(dāng)前分支
    git branch: 列出本地所有分支,當(dāng)前分支會(huì)被星號(hào)標(biāo)示出.
    git branch -a : 列出所有分支,包括遠(yuǎn)端。
  • 創(chuàng)建分支
    git checkout -b (branchname): 創(chuàng)建并切換到新的分支.
  • 提交分支到遠(yuǎn)程
    git push 此時(shí)會(huì)提示錯(cuò)誤并且有個(gè)建議的命令 git push --set-upstream origin branch1 執(zhí)行即可成功推送新的分支到遠(yuǎn)程倉(cāng)庫(kù)
5. 刪除分支
  • 刪除本地分支
    git branch -d "branch的名字"
    注意:不能刪除當(dāng)前所在分支,如果刪除,需要先切換到其他分支。
  • 刪除遠(yuǎn)程分支
    git branch -r -d origin/branch1
    這時(shí)候并沒有真正的刪除,需要提交到遠(yuǎn)程倉(cāng)庫(kù)才正式在遠(yuǎn)程刪除。
    執(zhí)行如下操作:
    git push origin :branch1
6. 合并分支
  • 首先新建一個(gè)分支mergedemo,修改原有文件代碼 push到遠(yuǎn)程倉(cāng)庫(kù)
  • 切換到 master 分支
    現(xiàn)在2個(gè)分支的代碼是不一樣的。
  • 執(zhí)行合并
    git merge mergedemo
    當(dāng)執(zhí)行合并遇到?jīng)_突的時(shí)候,代碼會(huì)有不一致的標(biāo)識(shí),只需要手動(dòng)修改文件,再次提交即可。
7. 版本回退

提交了N次以后,發(fā)現(xiàn)想撤銷原來的提交,返回到前面的1個(gè)步驟

  • 回退一次提交 命令: git reset --hard HEAD^
  • 回退二次提交 命令: git reset --hard HEAD^^
    回退幾次提交,就加幾個(gè) ^,也可以用 HEAD~n 代替
  • 退回到指定版本
    01. 執(zhí)行git reflog
    可以看到每次的提交以及版本信息:
gaoyx@gaoyx-PC MINGW64 ~/workspace/muke/AutoTest (master)
$ git reflog
d25532b (HEAD -> master, origin/mergedemo, mergedemo) HEAD@{0}: merge mergedemo: Fast-forward
64bef3c (origin/master) HEAD@{1}: checkout: moving from mergedemo to master
d25532b (HEAD -> master, origin/mergedemo, mergedemo) HEAD@{2}: commit: 提交合并的內(nèi)容
64bef3c (origin/master) HEAD@{3}: checkout: moving from master to mergedemo
64bef3c (origin/master) HEAD@{4}: checkout: moving from branch1 to master
8a08cd0 HEAD@{5}: commit: 提交新的內(nèi)容到 branch1
64bef3c (origin/master) HEAD@{6}: checkout: moving from master to branch1
64bef3c (origin/master) HEAD@{7}: commit (initial): 提交測(cè)試文件

gaoyx@gaoyx-PC MINGW64 ~/workspace/muke/AutoTest (master)

02. 執(zhí)行git reset --hard 64bef3c 即是回到 64bef3c 這個(gè)版本。

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

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

  • Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉(cāng)庫(kù)完整的鏡像下來。這樣一來,任何一處協(xié)同...
    __silhouette閱讀 16,203評(píng)論 5 147
  • Git 命令行學(xué)習(xí)筆記 Git 基礎(chǔ) 基本原理 客戶端并不是只提取最新版本的文件快照,而是把代碼倉(cāng)庫(kù)完整的鏡像下來...
    sunnyghx閱讀 4,155評(píng)論 0 11
  • 1,查看所有遠(yuǎn)程分支:%git branch -r 2, 拉取遠(yuǎn)程分支并創(chuàng)建本地分支git checkout -...
    will666閱讀 2,196評(píng)論 0 18
  • Vocabulary chef n. 廚師,主廚;cook是沒成為主廚的叫法。 cocktail n. 雞尾酒;開...
    djflying閱讀 512評(píng)論 0 0
  • nrf52832修改藍(lán)牙地址,代碼如下。末位地址+1
    嵌入式工作閱讀 1,248評(píng)論 0 0

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