Git精華
一. Git工作區域劃分
二. 本地倉庫初始化
#創建本地工作目錄
mkdir git_learn
#進行git初始化
cd git_learn
git init
三. 常用操作
-
查看本地倉庫狀態
git status
-
將本地修改同步到暫存區
git add eshop.txt
-
將暫存區內容提交到本地倉庫
git commit -m '開始開發電商系統'
四. git log與版本切換
-
Git支持根據commitId進行不同版本間的任意切換
-
查看提交日誌
#查看完整提交日誌 git log #查看簡化提交日誌 git log --pretty=oneline #查看歷史操作日誌 git reflog
-
版本切換
#切換到指定commitId的版本 git reset --hard 711aa18 #回退到上一個版本 git reset --hard HEAD^ #回退到本地倉庫提交的最新版本 git reset HEAD eshop.txt
五. 修改的撤銷與回退
-
未同步到暫存區的修改,可直接撤銷
#未同步到暫存區的修改,可直接撤銷 git checkout -- eshop.txt
-
已同步到暫存區,且未提交的修改,需要回退到最新一次提交的版本,將修改從暫存區拉回到工作區,再進行撤銷
#回退到本地倉庫提交的最新版本,將修改拉回到工作區 git reset HEAD eshop.txt #撤銷工作區的修改 git checkout -- eshop.txt
-
對於已提交到本地倉庫的修改,需要回退到之前的版本
六. 分支
-
HEAD頭指針:HEAD頭指針指向當前分支(如master)的最新一次提交的commitId
-
查看所有分支
#查看所有分支 git branch
-
創建分支
#創建dev分支,並檢出到dev分支 git checkout -b
-
切換分支
#切換到master分支 git checkout master
-
刪除分支
#刪除test分支 git branch -d test #強制刪除 git branch -D test
七. 分支的合併與衝突解決
-
合併分支
#快速合併:將dev1分支快速合併到master git merge dev1
-
衝突解決:手動解決衝突
八. Git配置
-
配置級別
- 倉庫級別(local):當前倉庫級別下的.git/config文件
- 全局級別(global):當前用戶之下表示的是全局級別的
- 系統級別(system):在我們的git安裝目錄下etc
配置優先級爲:local > global > system
-
查看所有配置信息
#查看全部配置信息 git config -l #查看系統級別配置信息 git config --system -l #查看全局級別配置信息 git config --global -l #查看倉庫級別配置信息 git config --local -l
-
增加配置
#增加配置 git config --global --add user.name username
-
刪除配置
#刪除配置 git config --global --unset user.name
-
配置命令別名
#配置命令別名 git config --global alias.lpo log --pretty=oneline
九. 標籤
-
commitId對於用戶來說可讀性較差,不容易記住,可以爲一個commitId打上一個標籤(tag)
-
打標籤
#爲最新的commitId打上標籤v2 git tag v2 #爲歷史的一個commitId打上標籤v1 git tag v1 06408ea #打標籤時增加註釋 git tag v0 ef9dd41 -m '初始化'
-
查看標籤列表
#查看標籤列表 git tag
-
刪除標籤
#刪除標籤 git tag -d v0
十. 忽略文件
-
**在本地倉庫的根目錄下,創建.gitignore文件。**示例:
.classpath .project .settings bin target
十一. 使用GitHub創建遠程倉庫
-
查看遠程倉庫地址
#查看遠程倉庫地址 git remote
-
在Github上創建repository
-
本地生成ssh-key,並添加在Github中
-
關聯遠程倉庫
#關聯遠程倉庫 git remote add origin [email protected]:ZhangShenao/git_learn.git
-
將本地倉庫的修改推送到遠程倉庫
#將本地倉庫的修改推送到遠程倉庫的指定分支 git push -u origin dev1