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 git@github.com:ZhangShenao/git_learn.git
-
将本地仓库的修改推送到远程仓库
#将本地仓库的修改推送到远程仓库的指定分支 git push -u origin dev1