天天看點

Git使用

今天對前面寫的部落格項目進行了一些代碼調整,騰訊雲拉取最新代碼後出現無法通路問題,需要進行回退,但是前面沒有做過類似操作,這裡開一篇随筆記錄下

pull:是下拉代碼,相等于将遠端的代碼下載下傳到你本地,與你本地的代碼合并

push:是推代碼,将你的代碼上傳到遠端的動作

完整的流程是:

第一種方法:(簡單易懂)

1、git add .(後面有一個點,意思是将你本地所有修改了的檔案添加到暫存區)

2、git commit -m""(引号裡面是你的介紹,就是你的這次的送出是什麼内容,便于你以後檢視,這個是将索引的目前内容與描述更改的使用者和日志消息一起存儲在新的送出中)

3、git pull origin master 這是下拉代碼,将遠端最新的代碼先跟你本地的代碼合并一下,如果确定遠端沒有更新,可以不用這個,最好是每次都執行以下,完成之後打開代碼檢視有沒有沖突,并解決,如果有沖突解決完成以後再次執行1跟2的操作

4、git push origin master 将代碼推至遠端就可以了

第二種方法:

1、git stash (這是将本地代碼復原值至上一次送出的時候,就是沒有你新改的代碼)

2、git pull origin master(将遠端的拉下來)

3、git stash pop(将第一步復原的代碼釋放出來,相等于将你修改的代碼與下拉的代碼合并)

然後解決沖突,你本地的代碼将會是最新的代碼

4、git add .

5、git commit -m ""

6、git push origin master

這幾步将代碼推至了遠端

最後再git pull origin master 一下,確定遠端的全部拉下來,有的你剛送出完有人又送出了,你再拉一下會避免比的不是最新的問題

1. 代碼回退

首先你要用git log 檢視你要回到的那個本版,

然後用

git reset --hard HEAD^        回退到上個版本
git reset --hard HEAD~3       回退到前3次送出之前,以此類推,回退到n次送出之前
git reset --hard commit_id    退到/進到 指定commit_id

來把你的本地代碼回到你複制的某個版本上
如果你要吧回退的某個版本送出的遠端的話
           
git push origin HEAD --force           

當你復原之後,又後悔了,想恢複到新的版本怎麼辦?

git reflog

列印你記錄你的每一次操作記錄

git reflog 可以檢視所有分支的所有操作記錄(包括(包括commit和reset的操作),包括已經被删除的commit記錄,git log則不能察看已經删除了的commit記錄,而且跟進結果可以回退道某一個修改

2. 如果你要回把本地的代碼回到最新的并且你回退的版本沒有送出到遠端 就用

git checkout master

強制拉取并覆寫本地代碼

git fetch --all

git reset --hard origin/master

git pull