您現在的位置是:首頁 > 網路遊戲首頁網路遊戲
從工作到現在Git操作總結
- 2022-09-09
備註布吉島是什麼意思
轉自:掘金 - 前端布吉島
https://juejin。cn/post/6891146425590087693
寫在前面
你使用過 Git 嗎?或許你還未接觸過Git,或許你已經使用了一段時間,但它或許仍然令你困惑。
本文主要講解自己學習Git的方法以及解決自己遇見的各種Git問題。
如果大家還想對Git有更深一步的研究可以訪問
Git-book。
https://git-scm。com/book/zh/v2
Git常用命令
git四連
git add 。 將所有改動放進暫存區
git commit -m “描述” 提交併附帶概要資訊
git pull 從遠端倉庫拉去程式碼
git push 推送程式碼到遠端倉庫(master分支)
其餘常用命令
git log 檢視日誌
git log -p 檢視詳細歷史
git log ——stat 檢視簡要統計
git status 檢視工作區狀態
git branch 名稱 建立分支
git checkout 名稱 切換分支
git checkout -b 名稱 建立並切換到新分支
git branch -d 名稱 刪除該分支(不能刪除當前所在的分支,不能刪除沒有合併到master上的分支)
git branch -D 名稱 刪除該分支(可以刪除沒有合併到master上的分支)
git commit ——amend 對最新的一條commit進行修正
git reset ——hard HEAD^ 丟棄最新提交(未提交的內容會被擦掉)
git reset ——soft HEAD^ 丟棄最新提交(未提交的內容不會被擦掉)
git revert HEAD^ 回到某個commit
git rebase 目標基礎點 重新設定基礎點
git merge 名稱 將分支合併到head指向的分支
git push origin localbranch 將程式碼推送到遠端倉庫的指定分支
git push -d origin branchName 刪除遠端分支
git stash 暫存程式碼
git stash pop 彈出暫存程式碼
配置別名
對常用的一些命令進行別名配置,提升自己的工作效率
git config ——global alias。st status git status ==> git st
git config ——global alias。ci commit git commit ==> git ci
git config ——global alias。co checkout git checkout ==> git co
git config ——global alias。br branch git branch ==> git br
git config ——global alias。sh stash git stash ==> git sh
git config ——global alias。pop “stash pop” git stash pop ==> git pop
常見問題以及解決辦法
git clone失敗
報錯提示
Could not
read
from remote repository。
Please make sure you have the correct access rights
報錯原因
SSH key失效 或者 自己沒有許可權
解決辦法(一)——重新新增SSH key
1。ssh-keygen -t rsa -C “username” (注:username為你git上的使用者名稱)
2。Generating public/private rsa key pair。
Enter file in which to save the key (C:\Users\灝忛┈/。ssh/id_rsa): 直接回車
3。C:\Users\灝忛┈/。ssh/id_rsa already exists。
Overwrite (y/n)? y 輸入y
4。Enter same passphrase again: 直接回車
5。Your identification has been saved in C:\Users\灝忛┈/。ssh/id_rsa。 私鑰儲存的地址
Your public key has been saved in C:\Users\灝忛┈/。ssh/id_rsa。pub。 公鑰儲存地址
6。根據路徑找到公鑰,將公鑰新增到Git上
解決辦法(二)—— 使用http的地址進行克隆
使用這種方式的話需要輸入自己的賬號以及密碼,有點麻煩,不建議使用
git pull失敗(一)
報錯提示
Your local changes to the following files would be overwritten by merge:
報錯原因
其他人修改了該檔案提交到版本庫中,而我本地也修改了該檔案,致使拉去程式碼的時候發生衝突
解決辦法——貯存更改
依次進行如下操作
git stash
將工作區恢復到上次提交的內容,同時備份本地所做的修
git pull
拉取
git stash pop
彈出自己最近儲存的內容
檢視對應檔案 解決衝突
Snipaste_2020-07-13_09-40-27。png
然後git 三連提交自己的程式碼
git pull失敗(二)
報錯提示
Pulling is not possible because you have unmerged files。
報錯原因
修改的檔案未提交
這個錯誤其實是這樣子的——其實我之前已經pull過程式碼了,然後出現了衝突,解決衝突之後,我想再pull一下時報的錯,後來我才知道,解決掉衝突之後是需要再次commit的
解決辦法——提交到本地
git add 。
嗯是的,這裡 commit 前也需要先 add 一下
git commit \-m “獲取新的程式碼”
git pull
git push失敗
報錯提示
fatal: Could not read from remote repository。
Please make sure you have the correct access rights
報錯原因
原因一:github上沒有新增最新的公鑰 原因二:網路未連線
原因一解決辦法——配置公鑰
1。找到公鑰開啟,並複製其內容
2。新增公鑰到github
說一下為什麼會這樣,因為github和gitlab是共用同一個公鑰和私鑰,在做公司專案的時候,我clone失敗(上面第一個錯誤)時,重新配置了公鑰和私鑰,所以此時我的github上沒有我最新的公鑰,導致我無法push
原因二解決辦法——連線網路
網線鬆動
掉出公司內網,需要重新登入
WiFi沒網
撤銷對檔案的修改
描述
修改了一個複雜的index。vue檔案,修改之後覺得自己寫得亂糟糟的,沒有一絲頭緒,但這個修改檔案
未提交
,我想恢復到它最開始的樣子。
解決辦法
執行命令
git status
獲取到我們這個檔案的路徑
image。png
git checkout \—— 檔案完整路徑
(好像不加——這兩個橫線也能使)
image。png
然後關閉這個檔案在開啟就好了 在提醒你是否儲存修改
切記不要儲存
這是一個非常危險的命令,執行此操作後git會用最近的commit覆蓋掉整個檔案。
除非你確實清楚不想要對那個檔案的本地修改了,否則請不要使用這個命令。
自己的程式碼被pull下來的程式碼覆蓋
描述
自己的程式碼剛剛提交,同事然後把我的程式碼拉下來之後也提交了,然後我再次把程式碼重新pull下來,發現自己剛剛寫的程式碼全沒了(備註:我合同事寫的同一個檔案)
解決辦法(一)
git log
找到最近一次提交的commit編碼
git reset \——hard 複製的commit編碼
然後關閉這個檔案在開啟就好了 在提醒你是否儲存修改
切記不要儲存
解決辦法(二)
ctrl + z
使用這個辦法是必須要知道,自己改動過哪些檔案,並且編輯器未被關閉過(我當時編輯器剛好卡了,然後重啟了一下編輯器。。。。。)
只想拉取遠端程式碼 不想commit
描述
自己的程式碼只寫了一丁點,旁邊的同事說他提交了,叫我pull一下,因為沒寫什麼東西,所以不想commit
異想天開的嘗試
當時我就想,可不可以直接pull,結果當然是不行啦,git會給你報如下的錯誤
our local changes to the following files would be overwritten by merge:
解決辦法
git stash
暫存自己的打碼
git pull
拉取程式碼
git stash pop
彈出暫存
想要回到pull之前的狀態
問題描述
commit之後,把程式碼pull下來,出現很多衝突,然後想回到pull之前的狀態,將程式碼格式化之後再pull
解決辦法
git merge \——abort
回到衝突之前的狀態
git merge ——abort將會拋棄合併過程並且嘗試重建合併前的狀態。但是,當合並開始時如果存在未commit的檔案,
git merge ——abort在某些情況下將無法重現合併前的狀態。(特別是這些未commit的檔案在合併的過程中將會被修改時)
檢視自己的commit記錄
描述
公司要求寫日誌,想透過檢視一下自己的commit記錄來寫日誌,
解決辦法
git log
此方法有缺陷,只能展示最近一次push時的commit記錄 最後,只有在GitLab上的歷史看了
最後
不建議大家使用Git的第三方視覺化工具,首先有的筆試或者面試是要考查Git的,其次感覺使用git視覺化工具之後,就沒有那味兒了。
(完)
微軟於年初推出了自己的Python教程,我們將其漢化提供給大家,歡迎大家收藏關注哦~(已經漢化完成的20集,我們日更1集,未完成部分我們儘快更新)