Git學習筆記
Git是一個開源的分布式版本控制系統,可以有效、高速地處理從很小到非常大的專案版本管理,
在團隊開發中git是必不可少的,它是目前為止最流行的版本控制工具
Git是免費、開源的,由Linux之父花了兩周時間寫出來的(人與人之間的差距怎么這么大!)
b站狂神:有道無術、術尚可求,有術無道、止于術!
集中式和分布式的區別
除了git還有svn之類的版本控制系統,它們主要區別在于一個是分布式,一個是集中式
分布式
代表:Git
分布式版本控制系統,每個人的電腦都相當于服務器,當你拉取倉庫的代碼后,你的電腦就是一個完整的版本庫,作業時不需要聯網,所有版本都在自己的本機里,當你想把自己的代碼提交到主倉庫時,只需要在聯網時合并推送到主倉庫就可以了,
集中式
代表:SVN
集中式版本控制系統,都有一個統一的版本號,放在一個統一的服務器上,作業時把最新的版本的代碼拉取到電腦上,代碼完成后在把寫完的代碼推送到服務器上,由于所有的操作都需要服務器的支持,對網路要求比較大,而且如果服務器里的資料出了問題,那么所有的資料都會丟失,本機客戶端僅保存當前版本的資訊,
Git安裝及配置
下載
git官網下載:https://git-scm.com/download/win(速度較慢,不推薦)
鏡像下載:https://registry.npmmirror.com/binary.html?path=git-for-windows/
安裝
下載對應版本后無腦安裝即可(更改安裝位置的注意一下安裝位置)
安裝完git后會在開始選單和右鍵檔案夾下看到對應的git程式,這是因為在剛才安裝時候無腦下一步的結果,由于個人不喜歡右鍵選單項多出來東西,所以這里介紹下怎么洗掉它
洗掉右鍵選單項
-
Win+R輸入
regedit打開注冊表 -
進入右鍵選單目錄:
HKEY_CLASSES_ROOT\Directory\Background\shell -
洗掉下面兩個檔案夾即可
HKEY_CLASSES_ROOT\Directory\Background\shell\git_shell HKEY_CLASSES_ROOT\Directory\Background\shell\git_gui
Git環境配置
在安裝完Git后,是需要一些全域配置的
這里不配置也可以,當遇到要求登陸權限的遠程倉庫時會讓你在手動輸入用戶名、郵箱、以及密碼
Git配置
列出配置的所有命令:git config
設定用戶名和密碼:
git config --global user.name "your name" // 設定全域用戶名
git config --global user.email "your email" // 設定郵箱
這里的 --global 為全域配置,如果要在特定的的專案中使用不同的名稱,那就不使用該引數,只為當前所在倉庫配置,
查看所有配置:git config -l

Git相關的組態檔:
- 全域組態檔:
C:\Users\你的用戶名\.gitconfig - 系統組態檔:
你的安裝目錄\Git\etc\gitconfig
Git核心知識
三大區域
git在本地分為三個區域,分別為作業區、快取區和資源區(本地),其實還有一個遠程的一個倉庫區,但不在本地就不做過多解釋
作業區:平時放專案代碼的地方,包括git已經管理的檔案區域和新增以及修改的檔案區域
快取區:用于臨時存放改動的代碼,它本質上是一個檔案,把作業區的部分或者全部已經確認需要保存的檔案提交至暫存區,先保存一下,如果確認好了可以直接提交到本地倉庫中,如果暫時不能做決定可以暫時先放到暫存區,等待下一步操作,
資源區:又稱作版本庫或倉庫區,將某一個歷史節點的保存檔案串列當做是一個版本,這里面有你提交到所有版本的資料,其中的HEAD指標默認指向最新放入倉庫的版本
倉庫區:遠程的倉庫,托管代碼的服務器,可以是Gitee、GitHub
作業流程
git的作業流程:
- 在工具區中增加或修改檔案
- 將新的版本代碼添加到快取區
- 將快取取得檔案提交到遠程倉庫

Git專案搭建
創建 Git 版本庫
首先,你需要新建一個存放版本庫的目錄,然后進入到該目錄所在路徑,然后執行:
# 在當前目錄新建一個Git代碼庫
git init
如果在目錄中看到包含有.git的隱藏目錄,那就證明創建成功
克隆遠程版本庫
將遠程服務器上的倉庫完全鏡像一份到本地上
# 克隆一個專案和它的所有版本資訊
git clone [url] # https://gitee.com/xuande-hk/xuande-hk.git
我這里克隆到是我靜態博客地址,可以更該為別的地址
分支管理
一般情況下master主分支應當保存最穩定的代碼,作業時應當在新建的dev分支上作業,當發布時把dev代碼合并到主分支master上
Git基礎操作
檔案操作
檔案狀態
-
已暫存狀態(staged),表示對一個已修改檔案的當前版本做了標記,使之包含在下次提交的快照,
git add.命令可以將檔案狀態改為staged -
已修改狀態(modified),表示修改了檔案,但是還沒有保存到資料庫中
-
已提交狀態(committed),表示資料已經安全的保存在本地資料庫中
管理檔案命令
# 查看指定檔案狀態
git status [filename]
# 查看所有檔案狀態
git status
# 添加單個檔案到暫存區
git add [filename]
# 添加所有檔案到暫存區
git add .
# 如果暫存區有檔案,則將其中的檔案提交到倉庫
git commit
# 帶注釋提交,說明你增加或修改的內容
git commit -m 'your comments'
# 查看版本庫中所有的改動
git diff
# 查看具體檔案的改動
git diff Readme.md
# 顯示所有提交的歷史記錄
git log
# 單行顯示提交歷史記錄的內容
git log --pretty=oneline
# 回退到上一個提交版本
git reset --hard HEAD^
# 回退到上上一個提交版本
git reset --hard HEAD^^
# 回退到未來的某個版本
git reflog
# 會退到 commit_id 指定的提交版本
git reset --hard 'commit_id'
# 如果指定檔案在作業區,則丟棄其修改
git checkout -- [filename]
# 丟棄當前目錄下所有作業區中檔案的修改
git checkout -- .
# 洗掉已經被提交過的檔案
git rm [filename]
分支操作
分支是版本控制系統中很重要的一個概念,在 Git 中新建、合并等分支的操作非常輕量便捷,因此我們會很經常的用到,
# 查看本地分支資訊
git branch
# 查看相對詳細的本地分支資訊
git branch -v
# 查看包括遠程倉庫在內的分支資訊
git branch -av
# 新建一個名稱為 dev 的分支
git branch dev
# 新建完 dev 分支以后,通過該命令切換到 dev 分支
git checkout dev
# 新建 dev 分支,并切換到該分支上
git checkout -b dev
# 切換回 master 分支
git checkout master
# 合并指定分支到當前分支
git merge [branch]
# 洗掉 dev 分支
git branch -d dev
遠程倉庫
上面的所有命令都是針對本地倉庫的操作,但是當我們多個人來協作時,會將代碼發布到一個統一的遠程倉庫,當多個人在本地操作完成以后,會推送到遠程倉庫,其他人協作時,需要先同步遠程倉庫的內容,再推送自己的修改,
# git clone 后面的倉庫地址,可以支持多種協議,如 https, ssh 等,
git clone https://github.com/git/git.git
# 為本地倉庫添加遠程倉庫
git remote add origin your_remote_git_repo
# 第一次推送時使用,可以簡化后面的推送或者拉取命令使用
git push -u origin master
# 將本地 master 分支推送到 origin 遠程分支
git push origin master
# 拉取遠程倉庫內容,但不會自動合并
git fetch origin master
# 拉取遠程倉庫內容,自動合并
git pull origin master
# 查看遠程倉庫資訊
git remote [-v]
# 建立本地分支和遠程分支的關聯
git branch --set-upstream 'local_branch' origin/remote_branch
# 修改本地倉庫對應的遠程倉庫地址
git remote set-url origin [url]
標簽管理
在專案開發程序中,當一個版本發布完成時,是需要對代碼打上標簽,便于后續檢索,獲處于其他的原因,需要對某個提交打上特定的標簽,
# 創建標簽
git tag -a 'tagname' -m 'comment' 'commit_id'
# 查看本地倉庫中的所有標簽
git tag
# 查看具體標簽資訊
git show tagname
# 洗掉本地標簽
git tag -d tagname
# 推送標簽到遠程倉庫
git push origin tagname
# 推送所有標簽到遠程倉庫
git push origin --tags
# 洗掉遠程標簽
git push origin --delete tagname
Git其他操作
系結IDEA
IDEA版本2021.3.2
git版本:2.36.0
作業系統:win10
打開idea,找到vcs,創建倉庫

創建以后vcs會變成git,點擊git后找到管理遠程

添加遠程倉庫的地址(沒有的話去gitee或者github建一個倉庫)

之后點擊提交就可以了(需要輸入提交資訊)

注:控制臺輸入命令也可以實作
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/539677.html
標籤:其他
