跳坑指南 git高階

2021-07-26 01:38:30 字數 1925 閱讀 8466

【跳坑指南-git】

本篇是給使用過git的人高階用的,沒有使用過

git pull, git push, git remote

的人請繞過,看了也沒啥用

(話說的太直接了,哈哈)。

git push

就是把自己的提交推送到伺服器上。雖然兩個命令很簡單,但是其中還會有很多人遇到麻煩。不明白其中的原由,出錯了也摸不著頭腦。

當然我也是進過坑的。

a:老闆,我已經提交**了,但是

git伺服器一直提示

can』t merge。

老闆:你提交前用git pull拉取更新了嗎?

a:我拉了    

#說這三個字的同學不在少數啊。哈哈

老闆:你確定你拉了?用的git pull && git push命令嗎?中間沒有

sleep

幾十秒?

a:我沒有做其他操作,沒有停留,拉了之後直接提的 (

#沒拿衛生紙嗎?哥們)

老闆:奧,我來幫你看看

老闆都操作了這些:

圖中紅色標註的部分就是命令以及輸出,為了防止看不清,我再寫一下

1)git log -n2|grep "commit"|tail -n1|cut -d " " -f2&& cat .git/fetch_head

2)檢視輸出的兩行中,

commit id

是否一樣。圖中的兩個

commit id

只要不一樣,肯定是會出錯的,要麼就是

confilict             

要麼就是

can』t merge

3) 小

a啊,你重新提吧,先把你的這次提交儲存一下,可以用

format-patch

,只要儲存下來就行了。然後用

git reset                --hard fetch_head && git pull

,然後再重新加你的**吧。

#在這裡我多說一句,建議用

git format-patch

儲存成patch檔案,

另外建議使用

vim編輯器提交**

(剛開始可能不習慣,之後你會愛上

vim的

)a:老闆,我為啥拉**老是失敗

老闆:失敗你妹

啊,用git remote -v看一下你的

url配置了沒有,然後看看我的

url跟你的一樣不一樣

a:我跟你的一樣啊老闆,我曹了,這是什麼情況

老闆:具體報的什麼錯誤,怎麼失敗了?

a:這個路徑的檔案

error

了。。。。

老闆:我曹,你以後能不能自己建立乙個分支放你自己的**啊,工作的那個分支別**的當成你自己的版本了。      繼續git reset --hard fetch_head. #沒有拉取**許可權的就忽略了

上面兩個場景真的很重要,因為我也曾經這樣過。總結一下上述的命令,其中最重要的就是乙個命令git reset --hard fetch_head,這行**是無敵的,會把你的**回退到上次正確的**的地方。

另外就是場景一中的第一步,這個命令太長了

git log -n2|grep "commit"|tail -n1|cut -d " " -f2&& cat .git/fetch_head

不懂shell的同學可以了解一下管道命令(『

|』)以及

cut grep

這些命令常用的操作很簡單的

git log -n2檢視最近的兩次提交,然後我們要對比第二次提交的

commit id

與fetch_head

所指向的

commit id

,如果兩次一樣,則代表,你的這次提交是基於

git pull

之後的,是正確的。

如果不一樣,則要繼續git pull了

兔子跳坑法

兔子跳坑 即用並查集維護線段上某點每次能到的的最後乙個點 題目一 description 乙隻有追求的兔紙,不應該終日遊戲。於是它參加了乙個名為蘿蔔大戰的遊戲,啊不,比賽。比賽開始時,場地上有nn個蘿蔔,第ii個蘿蔔具有美味度didi。更加詭異的是,第ii個蘿蔔會在第titi秒末消失。雖然兔紙每秒至...

react native初學跳坑

react native 環境配置 詳見react native官網 執行react native專案問題總結 1 執行成功後出現 原因 是因為assets目錄下面沒有找到相應的scripts檔案 2 在虛擬機器上面執行專案出現could not connect development server...

小程式 跳坑

關於元件 1.元件中包含定時器,頁面離開定時器的清除 問題 在頁面離開後倒計時仍在繼續 解決 在頁面離開時清除定時器 2.場景 頁面中包含不同tab頁面,各tab頁面模板一致,模板內包含的元件id也一樣,在tab切換時重新整理tab頁內資料。解決 在tab切換時先將舊資料字段清空 3.場景 把lis...