Git的使用

  Git作为版本管理工具比SVN更加方便,Git可以在离线状态下进行版本控制,这种方式比起只能在连上服务器才能进行版本控制的SVN好太多了。

一、下载git

1、windows环境

  windows环境下去官网下载windows对应版本的exe执行文件进行安装

https://git-scm.com/download/win

  下载完后双击运行就可以了

2、Linux环境

  在Linux环境下直接进行安装,只需要几行命令就可以了,以CentOS为例:

yum install -y git

二、基础知识

这里写图片描述
  Git管理库分为3个部分,WorkSpace(工作空间)、Index/Stage(暂存区)、Local Repo(本地库)。所有的文件物理上都是在本地空间。版本控制就是将某个文件加入版本控制列表中。暂存区,或者叫待提交更新区,在提交进入repo之前,我们可以把所有的更新放在暂存区。Stash,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态。

三、配置环境

  为了自报家门,所以在使用前一般进行全局配置,也只在安装好后配置一次基本就可以了。 这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,所以会随更新内容一起被永久纳入历史记录。

 git config --global user.name "Your Name"
 git config --global user.email email@example.com

  global 参数,用了这个参数,表示你这台机器上该用户操作时所有的Git仓库都会使用这个配置,如果要使用全局,也就是不管哪个用户登录都是一致性就要选用system配置。

四、创建版本库

  版本库中的所有文件都会被Git管理起来,版本库(又称仓库)可以理解一个目录。在某个目录下初始化版本管理:

git init

  会在该目录下生成一个隐藏本地版本库的管理文件夹.git,你的项目版本信息都储存在里面。

五、版本管理

  将文件加入版本管理器,这样,就能对文件进行版本管理,文件的更改,删除都能进行回退,添加。
这里写图片描述

5.1 加入暂缓去(git add)

  常用的添加方式。

1、git add  添加本地路径下 文件内容修改(modified)以及新文件(new)加入缓存区,但不包括删除的。
2、git add -u 所有被删除和修改的文件到数据暂存区,不包括新增的文件。
3、git add -A 所有被删除、被替换、被修改和新增的文件到数据暂存区
5.2 提交版本(git commit)

  添加到版本控制库。

1、git commit  调到一个文本编译器(通常是vim)来让你输入提交的描述信息
2、git commit -m "提交信息"  将m参数的信息作为提交信息
3、git commit --amend 命令是修复最新提交的便捷方式。
   它允许你将缓存的修改和之前的提交合并到一起,而不是提交一个全新的快照。
   它还可以用来简单地编辑上一次提交的信息而不改变快照。
4、git commit -a 所有被删除和修改的文件直接从本地库提交版本。
5.3 删除文件的版本控制(git rm)

  删除文件的版本控制。

git rm --cached xxx 删除文件的版本控制,但是不会删除物理文件本身。
git rm -r --cached xxx 删除目录的版本控制,但是不会删除物理目录本身。
git rm xxx 删除文件的版本控制,但是会删除物理文件本身。
git rm -r xxx 删除目录的版本控制,但是会删除物理目录本身。
5.4 分支(git branch)

  在新的功能或者模块的开发过程中,常常在新的分支上做开发,然后功能完善后,在合并到主分支上。

1、git branch -a 查看有哪些分支
2、git branch xxx 创建一个分支
3、git checkout xxx 切换到一个分支上
4、git checkout -b xxx 创建并切换一个分支
5、git branch -d xxx 删除一个分支(必须切换到别的分支上才能去删除)
6、git merge xxx 在当前分支去合并xxx分支,要去解决冲突然后重新commit
72、git checkout -b xxx master 在某个分支的基础上再创建一个分支,并切换
5.5 存储(git stash)

  会有一个有趣的现象,当你切换别的分支,修改了一些文件,无论放在缓存区还是工作空间,一旦切换到别的分支,这些修改也被带过去了。不如先存储起来然后再切换。

1、git stash list 查看存储栈
2、git stash 存储当前工作环境
3、git stash save "I LOVE WORK"  存储并加入注解
4、git stash pop 恢复最近一次存储,并删除
5、git stash apply stash@{0} 恢复对应的存储
6、git stash clear 清除所有存储
7、git stash drop stash@{0} 清除对应的存储
5.6 比较(git diff)

  版本比较,查看不同的地方。

1、git diff 比较工作区和暂存区的差异
2、git diff --cached 比较暂存区和最新本地版本库差异
3、git diff HEAD 比较工作区和最新本地版本库差异
4、git diff HEAD^ HEAD 比较两个版本之间的差异

六、版本退回

6.1 从版本库恢复缓冲区
git reset --soft xxx 把文件从版本库退回到缓冲区
6.2 从缓存区恢复到工作区
git reset HEAD xxx 把文件从缓存区退回到工作区
6.3 从版本库恢复到工作区
git checkout -- xxx 把文件从版本库恢复到工作区

七、远程仓库

7.1 查看远程仓库
git remote -v 查看本地版本库关联的远程仓库
7.2 添加一个远程仓库
git remote add xxname xxurl 添加一个远程仓库,显示名称和URL地址
7.3 更改远程仓库地址
git remote set-url xxname xxurl 添加一个远程仓库,显示名称和URL地址
7.4 版本库推送到远端(git push)

  格式:git push <远程主机名> <本地分支名>:<远程分支名>

1、git push origin master 将本地master推送到远程origin的同名分支上
2、git push origin :master 删除远程origin 的master分支
3、git push origin --tags 推送时带上标签
7.5 拉取远程到本地版本库(git fetch / git pull )

  git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。而git pull 则是将远程主机的最新内容拉下来后直接合并,即:git pull = git fetch + git merge,这样可能会产生冲突,需要手动解决。
  格式:git fetch <远程主机名> <分支名>git pull <远程主机名> <远程分支名>:<本地分支名>

1、git fetch origin master 向远程origin仓库的master取回,所取回的更新,在本地主机上要用”远程主机名/分支名”的形式读取
2、git pull origin next:master 要取回origin主机的next分支,与本地的master分支合并
3、git pull origin next   要取回origin主机的分支(next)要与当前分支合并
4、git branch --set-upstream master origin/next  手动建立追踪关系,指定master分支追踪origin/next,一旦追踪关系确定,就可以省略本地分支的名称进行pull了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值