iT邦幫忙

1

想請問git拉取的一些問題

因為目前幾乎沒有多人協作的經驗,有些git上的問題想請教各位大大
問題很初階,還請各位大大見諒

小弟有一個github專案和本地端連接好了,上午的時候小弟想做一個測試,就把github專案裡的檔案都刪除了,然後小弟想把本地端的資料push上去,但是報錯要求先pull,後來pull了之後本地端的檔案都消失了。想請問如果不pull就沒辦法push,但是pull就讓本地端檔案被覆蓋掉,這種時候應該怎麼做才對?

Mao iT邦新手 2 級 ‧ 2021-11-12 22:56:21 檢舉
  
5
Mao
iT邦新手 2 級 ‧ 2021-11-01 22:35:00
最佳解答

git push -f
其中 -f 這個參數,代表強制覆蓋的意思
非必要請盡量別使用這個方法推送上去
個人建議你去看,連猴子都能懂得 Git 入門指南

0
deh
iT邦新手 1 級 ‧ 2021-11-01 20:09:06

之前回答錯了
參見樓下

2
D路里
iT邦新手 5 級 ‧ 2021-11-02 00:12:58

樓上是解答,但請樓主不要這樣做
Git 拉取的是 Remote
你應該永遠先做 fetch
才開始做你該做的事
簡而言之,不要先去動 remote 不然其他人也會幹死你

回到你的問題,這種時候應該怎麼做才對?
本身就是錯的,在錯的上面不會變對的

2
whitefloor
iT邦新手 3 級 ‧ 2021-11-02 11:03:16

你要先有個觀念
你在網頁上看到的repo(倉庫)才是正本
你本地的是副本

正常情況下一切以你網站上看到的正本為主去做管理

所以才有大神跟你講說要建立正確觀念,就是在說這個

3

GIT的觀念不太對。

在GIT倉庫(也就是github上)。
永遠都是主要依據的GIT。

所以,你光第一個動作就不對了。原本就不該去動「本尊」

一般如果是想要重建一個GIT倉庫。
你該建立一個空的倉庫,而不是去刪除它的檔案。
因為刪除也是一個需要處理的動作。
其它GIT一律都要遵守它。

建一個空的GIT庫後,再重新PUSH上去就行了。因為銀庫沒有相關對應的GIT動作(刪除)
就不會再要求你PULL了。

我要發表回答

立即登入回答