git基操指南,提交回滾那些事~

這是我參與8月更文挑戰的第10天,活動詳情查看:8月更文挑戰git

本文介紹的內容都是git基操、着重於提交回滾那些事,助力代碼提交,看完能保證提交代碼這塊順暢進行😄😄😄bash

基礎信息查看

  • 遠程查看markdown

    git remote show	// 查看主機名
    git remote -v 	// 查看關聯遠程鏈接
    複製代碼
  • 帳號信息post

    git config user.email
    git config user.name
    複製代碼

分支操做

  • 新建本地分支測試

    git checkout -b <分支名稱> 	// 例如 git checkout -b shengjingyin
    複製代碼
  • 新建遠程分支ui

    git push <主機名> <本地分支名稱>	// 建立的遠程分支名稱與本地分支同樣
    
    git push <主機名> <本地分支名稱>[:<遠程分支名稱>]	// 這樣寫,能夠關聯到不同名稱的遠程分支,例如 git push origin dev3:ayin,我本地是dev3,可是我遠程建立的倒是ayin分支
    複製代碼
  • 切換本地分支spa

    git checkout  <分支名稱>	
    複製代碼
  • 刪除本地分支code

    git branch -d  <分支名稱>	
    複製代碼
  • 刪除遠程分支orm

    git push <主機名> --delete <遠程分支名稱>
    複製代碼
  • 分支狀態ip

    git branch <-a> //  查看本地分支,加了`-a`參數就是查詢本地+遠程分支,帶*號的是當前分支,
    複製代碼

正常開發提交流程

從網上down了一個示意圖下來,感受比較齊全,涉及到工做區暫存區本地倉庫遠程倉庫之間如何進行溝通(從右到左,我本意是想找個從左到右的,emm可是找不到,好難受啊😫)

git.png

一、工做區與暫存區之間的溝通

工做區提交到暫存區

正常提交時,以下三點所示:

  • 添加一個或多個有變動的文件到暫存區

    git add [file1] [file2] ...
    複製代碼
  • 添加指定目錄到暫存區,包括子目錄

    git add [dir]
    複製代碼
  • 添加當前目錄下全部文件到暫存區

    git add .
    複製代碼

暫存區返回到工做區

想讓暫存區的內容返回到工做區,可用以下種方法:

  • 回退暫存區內指定文件

    git reset HEAD rainbow.txt start.txt
    複製代碼
  • 回退暫存區內全部文件

    git reset HEAD *
    複製代碼
  • 回退暫存區內某一類別文件

    git reset HEAD *.txt
    複製代碼

二、暫存區與本地倉庫之間的溝通

暫存區提交到本地倉庫

  • 提交暫存區到本地倉庫中

    git commit -m 'message'
    複製代碼
  • 提交暫存區的指定文件到倉庫區

    git commit [file1] [file2] -m [message]
    複製代碼

本地倉庫回退到工做區

已經將代碼提交到本地倉庫的代碼,即已經進行 commit 操做,若是想撤銷以前的修改,須要執行版本回退操做,回退後的文件會回到工做區,而不是暫存區。

  • 回退到上一個版本

    git reset HEAD^		// 上一個版本
     git reset HEAD^^	// 上上一個版本
     git reset HEAD^^^	// 上上上一個版本
     
     git reset <commit-id> 		// 回到指定版本
    複製代碼
  • 回退到指定版本

    git log      // 查看提交記錄,獲取commit-id,下一步使用
     
     git reset <commit-id>   // 回到指定版本,須要上一步驟中的id
    複製代碼

    tips:能夠使用 git loggit reflog 命令來查看git的提交歷史,獲取commit-id

三、本地倉庫與遠程倉庫之間的溝通

推送到遠程倉庫

  • 本地分支與遠程分支已經創建聯繫

    git push
    
    git push -f	//  強制遠端分支與本地分支同樣,沒事別搞這個,否則被罵了可別怪我😂
    複製代碼
  • 本地分支與遠程分支未創建聯繫

    這時候若是push,會提示如下信息,未創建遠程關聯的意思,人家已經把創建關聯的代碼都提示出來了,照着打就行

    image-20210809174344960.png

    git push --set-upstream origin dev		// 建立關聯的同時,推送本地倉庫代碼到遠程倉庫關聯分支(dev)
    複製代碼

回退遠程提交記錄

有時候咱們提交到遠程了,可是以爲提交信息有誤,或者提交了本地測試代碼到遠程上去了,這時候該怎麼辦呢?下面就來介紹一下怎麼回退遠程提交記錄,分爲兩步驟:

我這裏提供的方法不是惟一方法,若是有更好的方法,歡迎評論區回覆,謝謝~

image-20210810101326410.png

  • 先回退本地倉庫到指定版本

    git reset HEAD^		// 回退上一個版本,具體用哪一個方式須要看你本身的需求
    git reset <commit-id> 	// 回到指定版本
    複製代碼
  • 再繼續強推送

    git push -f	// 值得注意的是:你必須清楚的知道 -f 的做用!!!
    複製代碼
  • 效果:能夠看到1分鐘前的那條提交記錄已經沒有了

    image-20210810101445466.png

本章小結

本節主要介紹開發完代碼,如何去建立分支、提交代碼的一個總體流程,關於各類回退的方式我相信大佬們也還有其餘的方式,我這提供的也就只是日常開發的一個正常操做,沒什麼奇淫巧計,若是你有更好的方式,歡迎評論區回覆,以免其餘人中了個人圈套😂😂😂

下章節我將繼續介紹git的一些進階操做:例如如何解決代碼合併衝突、臨時儲存代碼等等~~

相關文章
相關標籤/搜索