git使用

git 版本控制

配置用户信息

1
2
git config --global user.name "用户名"
git config --global user.email "邮箱"

初始化本地仓库

在目标文件夹中使用命令

1
git init

查看本地仓库的状态

1
git status

三大区域

  • 工作区:仓库所在文件夹,保存文件的地方
  • 暂存区:版本库中暂存
  • 分支所在区:HEAD 指向的分支

四种状态

  • modified:文件有修改,但是还没有暂存
  • untracked:新建的文件,还没有被 git 管理控制住
  • staged:文件被暂存,还没有提交
  • unmodified:文件被提交

提交

从工作区提交到暂存区

基本用法

1
git add 文件名

一次性暂存工作区所有有修改的文件

1
git add -A

暂存指定目录下所有有修改的文件

1
git add 目录名

从暂存区提交到 master 分支

1
git commit -m "提交的信息"

跳过暂存,直接提交(untracked 除外)

1
git commit -a -m "提交的信息"

查看提交信息

详细信息

1
git log

简要信息

1
git log --pretty=oneline

取消修改

取消工作区的修改

文件被修改后还没有执行 git add 命令,执行

1
git checkout -- 文件名

取消暂存区的修改

文件被修改后执行了 git add 命令,但是还没有执行 git commit 命令,先撤销 git add 命令

1
get reset HEAD 文件名

再撤销工作区的修改

1
get checkout -- 文件名

取消分支上的修改

  • 文件被修改后执行了 git add 和 git commit 命令(已经提交了)
  • 无法取消修改,使用版本回退
  • 首先先使用 git log 查看每次提交的 id,然后确定需要回退到哪个版本,再使用
1
git reset --hard id

分支

  • HEAD 实现版本的控制
  • git 在将每一次的提交串成一条时间线,这条时间线就称为分支
  • 默认只有一条分支,master,也称之为主分支,而 HEAD 指向的就是当前分支

创建分支

将当前所在分支复制出来一条新的分支

1
git branch 分支名

查看当前仓库有哪些分支

1
git branch

切换分支(在一条分支上的修改不会影响到其他分支上的内容)

1
git checkout 分支名

分支的合并(将指定名称上分支的修改合并到当前分支上)

1
git merge 分支名

分支的删除(删除指定分支)

1
git branch -d 分支名

如果分支没有合并,则删除失败,可以强制删除

1
git branch -D 分支名

注:不能删除当前所在分支

远程关联

添加远程管理

1
git remote add origin 远程仓库地址

将本地仓库的内容推送到远程仓库

1
git push -u origin master

注:-u 第一次推送时添加,之后就不需要了;如果没有 master 分支就创建

查看当前仓库有哪些远程关联

1
git remote

删除已经存在的远程关联

1
git remote remove 关联名称

拉取

该命令会将指定远程仓库完整克隆下来,包括历史提交信息,而且还会自动添加远程关联

1
git clone 远程仓库地址

将远程仓库上的 master 分支上的修改拉取下来

1
git pull origin master

拉取指定远程仓库的指定分支

1
git clone -b 分支名 远程仓库地址