這是我參與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 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 log
或 git reflog
命令來查看git的提交歷史,獲取commit-id
本地分支與遠程分支已經創建聯繫
git push
git push -f // 強制遠端分支與本地分支同樣,沒事別搞這個,否則被罵了可別怪我😂
複製代碼
本地分支與遠程分支未創建聯繫
這時候若是push,會提示如下信息,未創建遠程關聯的意思,人家已經把創建關聯的代碼都提示出來了,照着打就行
git push --set-upstream origin dev // 建立關聯的同時,推送本地倉庫代碼到遠程倉庫關聯分支(dev)
複製代碼
有時候咱們提交到遠程了,可是以爲提交信息有誤,或者提交了本地測試代碼到遠程上去了,這時候該怎麼辦呢?下面就來介紹一下怎麼回退遠程提交記錄,分爲兩步驟:
我這裏提供的方法不是惟一方法,若是有更好的方法,歡迎評論區回覆,謝謝~
先回退本地倉庫到指定版本
git reset HEAD^ // 回退上一個版本,具體用哪一個方式須要看你本身的需求
git reset <commit-id> // 回到指定版本
複製代碼
再繼續強推送
git push -f // 值得注意的是:你必須清楚的知道 -f 的做用!!!
複製代碼
效果:能夠看到1分鐘前的那條提交記錄已經沒有了
本節主要介紹開發完代碼,如何去建立分支、提交代碼的一個總體流程,關於各類回退的方式我相信大佬們也還有其餘的方式,我這提供的也就只是日常開發的一個正常操做,沒什麼奇淫巧計,若是你有更好的方式,歡迎評論區回覆,以免其餘人中了個人圈套😂😂😂
下章節我將繼續介紹git的一些進階操做:例如如何解決代碼合併衝突、臨時儲存代碼等等~~