Git常用操作彙總與問題解決

2021-10-14 07:41:58 字數 2584 閱讀 4030

由於git是分布式版本控制系統,所以需要填寫使用者名稱和郵箱作為乙個標識

$ git init

$ git config --global user.name "user_name"

$ git config --global user.email "user_email"

--global表示全域性屬性,所有的git專案都會共有屬性

成功後會在windows 的c盤使用者目錄下生成乙個.gitconfig檔案,如若不用global則只在當前專案生效。另外配置完global的屬性後,若是在當前專案中新新增乙個使用者和郵箱,則優先使用新的屬性

$ git add + 檔案  # 將檔案存於暫存區

$ git commit # 將git內的暫存區檔案全部提交成乙個版本

$ git commit -m "備註資訊"

$ git status  # 檢視git內**提交情況

$ git log 或者 $ git log + 檔名 # 檢視git提交日誌

$ git log --pretty=online檔名  # 簡易資訊檢視

$ git reset --hard head^  # 回退到上一次提交歷史

$ git reset --hard head~n  # 回退n次操作,回退有hard/mix/soft

# 行檢視歷史記錄的版本號,執行git reflog檔名

$ git reset --hard + 版本號

$ git checkout + 檔名

$ git branch 《分支名》

$ git branch -v   # 檢視分支

$ git checkout 《分支名》
一步完成

$ git checkout -b 《分支名》
先切換到主幹

$ git checkout master
再合併分支

$ git merge 《分支名》
先切換到主幹

$ git checkout master
再刪除分支

$ git branch -d 《分支名》
刪除遠端伺服器分支

$ git push origin --delete 《分支名》

$ git add .

$ git commit -m ""

$ git push -u origin 《分支名》

$ git checkout -- a.txt  # 丟棄某個檔案

$ git checkout -- .  # 丟棄全部

注意:git checkout -. 丟棄全部,也包括:新增的檔案會被刪除、刪除的檔案會恢復回來、修改的檔案會回去。這幾個前提都說的是,回到暫存區之前的樣子。對之前儲存在暫存區裡的**不會有任何影響。對commit提交到本地分支的**就更沒影響了。當然,如果之前壓根都沒有暫存或commit,那就是回到上次pull下來的樣子

出現原因,遠端倉庫不存在相應的分支,需要建立本地與分支的關係

$ git push origin detection_xj_0.2 -u
這個意思是把本地dev push到origin的dev -u表示同時建立關聯,以後再推送到遠端只需git push origin

首先拋棄當前head,回退版本資訊,之後再pull

$ git reset --hard head

$ git remote prune origin
該命令解釋:削減不存在於遠端倉庫的本地分支

使用常規方法刪除出現pathspec 'summary_process' did not match any file(s) known to git

解決方法:

由於是utf 96編碼方式的倉庫,字元96的utf編碼是0xc296,故此只需要在倉庫名稱前面加上x96即可

git問題解決

在開發中我們經常需要通過 git 對 進行拉取和提交,頻繁地輸入使用者名稱和密碼會帶來很大的麻煩,下面就介紹一下解決git每次拉取 提交 時都需要輸入使用者名稱和密碼的方法。很簡單,只要兩步驟就能實現 1.在 gitconfig目錄下多出乙個檔案,用來記錄你的密碼和帳號 1git config gl...

LODOP使用問題解決彙總

lodop 列印控制項出現問題及修改方法 問題1 列印網頁時頁面出現電腦設定的底色如何解決?解決方法 按照如下方式新增html頁面 var strhtml document.getelementbyid table02 innerhtml lodop.add print htm 5mm 34,rig...

pytorch 常用問題解決

1 runtimeerror cuda runtime erorr 77 an illegal memory access was encountered at 在使用命令前面加上cuda launch blocking 1 禁止並行的意思 設定os.environ cuda launch bloc...