GIT初學者詳細指令學習

WantRemake發表於2023-02-26
參考網站:https://www.liaoxuefeng.com/wiki/896043488029600
基礎概念
1.自定義名字和郵箱號
    git config --global user.name  “your name”
    git config --global user.email   “your email”
2.建立預設倉庫
    mkdir filename    建立檔案
    cd  filename        進入資料夾
Pwd            當前檔案路徑
    git init            將當前目錄作為初始化的倉庫
3.檔案基礎操作
    git add filename.exname    檔案新增,可多次新增,一併提交
   git commit -m “description”   提交檔案並填寫描述
    git status        檢視檔案當前狀態(例如:被修改的檔案)
   git diff HEAD -- filename.exname   檢視某個檔案詳細被修改的地方
   git log            檢視操作日誌
   git log --pretty
=oneline 檢視簡介的操作日誌    ls 檢視檔案列表 4.版本回退 git reset --hard HEAD^ 回退到上一個版本 “^”的個數代表要回退的版本數,前兩個版本用^^代表,以此類推 git reset --hard conmmitid 回退到任意指定commitid版本 git reflog 檢視所有的檔案操作指令,前面的隨機碼即commitid 5.撤銷修改 git checkout -- filename.exname 已修改(刪除)檔案但未add時,使用該命令會撤銷修改(刪除)的地方(檔案)    git reset HEAD filename.exname 已經add但未commit時,使用該命令會把暫存區回退到工作區,相當於只是本地修改(刪除),未add 6.刪除檔案 rm filename.exname 僅在工作區刪除 git rm filename.exname 不僅再工作區刪除,同時還刪除暫存區(完事之後記得 git commit),若要恢復,則需要用到前面的撤銷修改指令 7.連線github

 

出現紅框內英文即代表連結成功
8.新增到遠端庫
    在github建立一個空的git倉庫之後
  
    在本地倉庫輸入 git remote add origin git@github.com:(github倉庫地址).git
   若報remote origin already exists的錯誤  說明本地已經關聯了一個遠端庫,需要先刪除再關聯
   git remote -v                    檢視遠端庫資訊
   git remote rm origin                刪除遠端庫
   再重新關聯
   若要關聯多個遠端庫比如(github和碼雲)
   git remote add github git@github.com:(github倉庫地址).git   先關聯github
   git remote add gitee git@github.com:(github倉庫地址).git       再關聯碼雲
注意後面的origin需要改為對應的紅標內容(代表著遠端庫名字)
接著  git push -u origin master 把本地庫master所有內容推送到遠端庫上, 第一次提交需要加上引數(-u),後面可簡化
出現此內容屬於正常,再輸入一次上面的push指令即可
出現以下內容時,說明已經推送到github倉庫了,以後只需要push一次就夠了

**如果從別的檔案庫上傳到一個github倉庫**
  需要先pull下來    git pull origin master  會自動合併
  如果是兩個不相關的專案需要加上引數  改為  git pull origin master --allow-unrelated-histories
  之後會自動開啟vim編輯器    先按 i 切換到插入模式,寫完後 Esc→:→wq 回車即可儲存退出編輯器
  然後再重新 git push -u origin master 即可推送到github
9.從遠端庫克隆
   在github新建一個倉庫的時候勾選
    
   然後再本地找到一個合適的地方
   git clone git@github.com:(github倉庫位置).git        將專案克隆到本地倉庫
10建立與合併分支
   git branch                              檢視分支
   git branch name                          建立分支
   git checkout name  或者 git switch name          切換分支
   git checkout -b name 或者 git switch -c name      建立並且切換到該分支
   git merge name                         合併某分支到當前分支
   git branch -d name                        刪除分支
   git log --graph --prety=oneline --abbrev-commit      檢視所有分支合併資訊
11.隱藏當前工作區,提交之前工作修改
例如需要修改分支名字為issue-101的bug
    11.1   git stash                          隱藏工作區
   11.2     git checkout master                  切換回需要修改的分支
   11.3     git checkout -b issue-101              在改分支下建立臨時分支
   11.4   修改bug後提交檔案        提交時的commitid後面會用到
   11.5  git checkout master                  切換回master分支
   11.6  git merge --no-ff -m ”描述內容” issue-101    完成合並並且刪除該分支
   11.7  git checkout dev                      完成修改切換回之前的分支繼續開發
   11.8  git stash list                          檢視之前隱藏的分支
   11.9  git stash pop                      恢復到之前的工作區並且刪除stash的該條資訊
   11.10 因為dev是從master分支分過來的,所以在dev上同樣存在該bug的問題
   11.11 git cherry-pick commitid                  複製一個特定的提交到當前分支,同時也提交了
12.強制刪除某個分支
   git branch -D branchName                  強制刪除某個分支
13.多人協作問題
   git remote  或者  git remote -v              檢視所有分支資訊
   git push origin master(改成你要推送的分支)          提交到遠端庫
13.1  git pull                           合併
13.2  如果git pull 提示no tracking information 則說明本地和遠端的分支連結關係沒有建立
13.3  git branch --set-upstream-to= (分支名字) origin/(分支名字)
13.4  git pull                          再更新一遍
13.5  pull成功,但可能會出現衝突,手動解決一下再commit提交,然後再push一遍即可
14標籤管理(首先要切換到要建立標籤的分支上)標籤和commit是掛鉤的,如果提交到其他分支則其他分支也是有該標籤
   git tag v1.0                              建立1.0的標籤
   git tag                              檢視所有標籤
   git log --graph --pretty=oneline --abbrev-commit   檢視所有commitid
   git tag v1.0 commitid                      給指定commitid打標籤
   git show v標籤                          檢視對應標籤的詳細提交資訊
   git tag -d v標籤                          刪除某個標籤
   git push origin v標籤                      推送某個標籤到遠端庫
   git push origin --tags                      一次性推送本地所有未推送的標籤到遠端庫
   git push origin :refs/tags v標籤                  刪除遠端庫的標籤(要先刪除本地的標籤)

 

相關文章