廖雪峰老師Git教程學習筆記

2021-09-22 20:02:09 字數 3617 閱讀 2263

初始化乙個git倉庫,使用git init命令。

新增檔案到git倉庫,分兩步:(每次修改,如果不用git add到暫存區,那就不會加入到commit中)

使用命令git add,注意,可反覆多次使用,新增多個檔案;(將修改的檔案從工作區新增至暫存區)

使用命令git commit -m,完成。(將暫存區的所有內容提交至當前分支)( 輸入的是提交的說明,最好是有意義的內容,這樣能更方便的在歷史記錄中找到改動記錄)

每次修改,如果不用git add到暫存區,那就不會加入到commit中。

要隨時掌握工作區的狀態,使用git status命令。

如果git status告訴你有檔案被修改過,用git diff可以檢視修改內容。

head指向的版本就是當前版本,因此,git允許我們在版本的歷史之間穿梭,使用命令git reset --hard commit_id。(使用 git log --pretty=oneline 檢視歷史提交日誌,輸出的每行前面一大段數字與字母組合的字串,就是 commit id,即版本號)

穿梭前,用git log可以檢視提交歷史,以便確定要回退到哪個版本。

要重返未來,用git reflog檢視命令歷史,以便確定要回到未來的哪個版本。

若想直接丟棄工作區的修改,用命令git checkout -- file

使用命令git reset head可以把暫存區的修改撤銷掉,重新放回工作區。

如果已經提交了不合適的修改到版本庫時,想要撤銷本次提交,可以使用版本回退命令git reset --hard commit_id,不過前提是沒有推送到遠端庫。

命令git rm用於刪除乙個檔案。如果乙個檔案已經被提交到版本庫,那麼你永遠不用擔心誤刪,但是要小心,你只能恢復檔案到最新版本,你會丟失最近一次提交後你修改的內容。

要關聯乙個遠端庫,使用命令git remote add origin git@server-name:path/repo-name.git

關聯後,使用命令git push -u origin master第一次推送master分支的所有內容;此後,每次本地提交後,只要有必要,就可以使用命令git push origin master推送最新修改;

要轉殖乙個倉庫,首先必須知道倉庫的位址,然後使用git clone命令轉殖。

git鼓勵大量使用分支:

檢視分支:git branch

建立分支:git branch

切換分支:git checkout

建立+切換分支:git checkout -b

合併某分支到當前分支:git merge

刪除分支:git branch -d

當git無法自動合併分支時,就必須首先解決衝突。解決衝突後,再提交,合併完成。解決衝突就是把git合併失敗的檔案手動編輯為我們希望的內容,再提交。用git log --graph命令可以看到分支合併圖。

合併分支時,加上--no-ff引數就可以用普通模式合併,合併後的歷史有分支,能看出來曾經做過合併,而fast forward合併就看不出來曾經做過合併。

修復bug時,我們會通過建立新的bug分支進行修復,然後合併,最後刪除;當手頭工作沒有完成時,先把工作現場git stash一下,然後去修復bug,修復後,再git stash pop,回到工作現場。

開發乙個新feature,最好新建乙個分支;如果要丟棄乙個沒有被合併過的分支,可以通過git branch -d強行刪除。

檢視遠端庫資訊,使用git remote -v

本地新建的分支如果不推送到遠端,對其他人就是不可見的;

從遠端抓取分支,使用git pull,如果有衝突,要先處理衝突。

從本地推送分支,使用git push origin branch-name,如果推送失敗,先用git pull抓取遠端的新提交;

在本地建立和遠端分支對應的分支,使用git checkout -b branch-name origin/branch-name,本地和遠端分支的名稱最好一致;

建立本地分支和遠端分支的關聯,使用git branch --set-upstream branch-name origin/branch-name

rebase操作可以把本地未push的分叉提交歷史整理成直線;

命令git tag用於新建乙個標籤,預設為head,也可以指定乙個commit id;

命令git tag -a -m可以指定標籤資訊;

命令git tag可以檢視所有標籤。

命令git push origin可以推送乙個本地標籤;

命令git push origin --tags可以推送全部未推送過的本地標籤;

命令git tag -d可以刪除乙個本地標籤;

命令git push origin :refs/tags/可以刪除乙個遠端標籤。

git教程鏈結

廖雪峰Git教程學習筆記

git1 通過git init命令把這個目錄變成git可以管理的倉庫 git init 2 用命令git add告訴git,把檔案新增到倉庫 git add readme.txt 3 用命令git commit告訴git,把檔案提交到倉庫 git commit m 這是備註 4 已經記不清上次怎麼修...

廖雪峰git教程學習筆記

對git來說,沒有訊息就是最好的訊息 使用 git init 把當前目錄變為git倉庫 要在倉庫裡加入檔案,先在倉庫目錄新建這個檔案後,比如新建乙個檔案xiaobai.txt,內容為 在命令列裡輸入 git status,出現提示xiaobai為untracked file,即沒有加入倉庫 git的...

《Git教程 廖雪峰》之學習筆記

原文 git教程 廖雪峰 一 git簡介 git是目前世界上最先進的分布式版本控制系統 沒有之一 git能夠幫助記錄對文件的改動的時間 內容 使用者等,對於需要重複修改多次的文件管理起來十分方便。二 git的安裝 在linux上安裝 1.首先,在命令列視窗中輸入git指令,檢視是否已安裝過git。g...