Git在开发中的基本使用

GIT简介

git是目前世界上最先进的分布式版本控制系统(没有之一),它是用来管理源代码的,为了方便多人协同开发,方便个人管理代码,方便版本的控制,是由Linux之父开发的。

工作区暂存区仓库区

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o6BJXPa5-1579414476654)(C:\Users\admin\AppData\Local\Temp\1579402120977.png)]

工作区

这里每一个区都是一些文件的集合,工作区就是对文件的所有操作都会一开始发生在工作区内。

暂存区

每当完成一部分工作的时候,需要把文件进行暂存,那么怎么暂存,就是通过git add命令,这个命令就是把文件或者目录从工作区添加的暂存区去,也可以使用git rm或者git checkout 把文件从暂存区去掉。

仓库区

仓库区就是我们的代码仓库了,所有最后想要保存下的代码或者说是文件都要加到仓库中去才可以,使用git commit命令把暂存区的文件加入到仓库区,可以使用git status查看文件当前的状态

总结:

关于这几个分区的问题,其实很好理解,这些就是为了管理文件所划分出来的区域,在进行管理的时候,就是文件在这些区之间的切换。所以理解了这些,也就知道应该怎么进行版本控制了,再掌握基本命令,就掌握git了。

操作

git的单人操作

单人操作就是个人对个人代码的管理,或者在团队中,个人应该怎么去进行操作。

在Linux下安装或者在Windows下安装git是非常简单的,Linux下一条命令搞定:

 sudo apt-get install git

接下来可以使用git配置好个人信息:

  git config user.name '张三'
  git config user.email 'zhangsan@163.com'

然后就可以使用这个账户去创建仓库:

比如新建一个test文件夹,然后进入:

 git init

创建本地仓库后会有一个.git的目录,这样test就是我门的一个新仓库了。

然后可以新建一个文件1.c

git add->git commit -m “描述信息” ->git log(查看版本历史)

那么如果想要回退版本怎么办:

  1. 方案一:

    • HEAD表示当前最新版本

    • HEAD^表示当前最新版本的前一个版本

    • HEAD^^表示当前最新版本的前两个版本,以此类推…

    • HEAD~1表示当前最新版本的前一个版本

    • HEAD~10表示当前最新版本的前10个版本,以此类推…

    • git reset --hard HEAD^
      
  2. 方案二:

     git reset --hard 版本号
    

撤销修改:撤销修改只能撤销工作区和暂存区的,因为仓库里的是版本,就相当于回滚版本了

撤销工作区的代码:

git checkout 文件名

撤销暂存区的代码:

# 第一步:将暂存区代码撤销到工作区
git reset HEAD  文件名
# 第二步:撤销工作区代码
git checkout 文件名

大体来说个人就是这么多的操作。

团队操作

这时候就相当于我们的仓库在其他机器上,我们需要远程仓库,远程提交代码,远程拉取代码,仅此而已。

假设我们的远程仓库在github上,创建号仓库以后,我们可以把仓库的地址拿到,然后把仓库克隆到本地来

比如现在我是一个经理:

这就是我的操作

cd Desktop/manager/

git clone https://github.com/zhangxiaochuZXC/test007.git

然后配置经理的个人信息

  cd Desktop/manager/test007/
  git config user.name '经理'
  git config user.email 'manager@163.com'

接下来就是创建项目,也就是创建文件夹:

  # 工作区添加到暂存区
  git add .
  # 暂存区提交到仓库区
  git commit -m '立项'
  # 推送到远程仓库
  git push

然后可以设置记住密码:

设置记住密码(默认15分钟):
git config --global credential.helper cache
如果想自己设置时间,可以这样做(1小时后失效):
git config credential.helper 'cache --timeout=3600'
长期存储密码:
git config --global credential.helper store

对于个人张三来说:

先去克隆项目到本地:

  cd Desktop/zhangsan/
  git clone https://github.com/zhangxiaochuZXC/test007.git

配置个人信息:

  cd Desktop/zhangsan/test007/
  git config user.name '张三'
  git config user.email 'zhangsan@163.com'

接下来就可以协同开发这个项目了:

1.模拟张三先编辑login.c文件代码

  • 进入张三本地仓库:cd Desktop/zhangsan/test007
  • 编辑代码:num1 = 10
  • 本地仓库记录版本:git commit -am '第一个变量'
  • 推送到远程仓库:git push

2.模拟经理后编辑login.c文件代码

  • 进入经理本地仓库:cd Desktop/manager/test007/
  • 经理同步服务器代码:git pull
  • 编辑代码:num2 = 20
  • 本地仓库记录版本:git commit -am '第二个变量'
  • 推送到远程仓库:git push

这时候张三又可以同步经理的操作了,通过pull操作即可。

总之:

  • 要使用git命令操作仓库,需要进入到仓库内部
  • 要同步服务器代码就执行:git pull
  • 本地仓库记录版本就执行:git commit -am '版本描述'
  • 推送代码到服务器就执行:git push
  • 编辑代码前要先pull,编辑完再commit,最后推送是push
附上常用命令:

单人操作:
1.sudo apt-get intall git ,安装git ,并创建git密码
2.git, 查看安装结果,有提示则证明安装成功
3.git init , 创建本地仓库
4.git config user.name ‘张三’, 配置git提交的用户名
5.git config user.email ‘123@qq.com’, 配置git提交的邮箱
6.git status, 查看工作区的文件状态
7.git add 文件名, 添加指定文件名到暂存区
8.git add . 添加所有的改动文件到暂存区
9.git commit -m ‘版本信息描述’, 添加当前版本说明
10.git commit -am ‘版本信息’, 直接添加到暂存区并提交到git仓库
11.git log, 查看详情历史版本
12.git reflog, 查看简单历史版本
13.git reset --hard HEAD^ 回退到上个版本
14.git reset --hard HEAD~1回到上个版本
15.git reset --hard 版本号, 跳转到指定的版本号
16.git checkout 文件名, 撤销指定文件的修改,工作区
17.git reset HEAD 文件名, 撤销暂存区的代码
19.git diff HEAD HEAD^ – 文件名,对比版本库
20.rm 文件名, 删除文件,通过下面21行命令撤销
21.git checkout – 文件名, 撤销删除
22.git rm 文件名, 删除本地文件, 并提交,通过下面的23行命令撤销
23. git reset --hard HEAD^,撤销

多人开发:
23.git clone 地址, 克隆远程的代码到本地
24.git push, 推送到远程仓库
25.git config --global credential.helper cache 十五分钟有效期
26.git config credential.helper ‘cache --timeout==3600’ 一个小时有效期
27.git config --global credential.helper store 长期有效
28.git pull ,拉取远程代码到本地目录

标签
29.git tag -a 标签名 -m ‘标签描述v1.0’, 本地标签
30.git push origin 标签名, 将本地标签版本推送到远程端
31.git tag -d 标签名, 删除本地标签
32.git push origin --delete tag 标签名, 删除远端的标签名

分支
33.git branch, 查看当前分支
34.git checkout -b 分支名, 切换到指定分支
35.git push -u origin 分支名, 推送本地分支跟踪远程分支
36.git checkout master/dev 切换到master主分支/子分支
37.git merge 分支A, 合并指定分支A到主分支中

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值