10分钟带你搞定git的基本使用

什么是Git?

  • Git是一款源代码管理工具(版本控制工具)
    • 我们写的代码需要使用Git进行管理。
  • 源代码有必要管理起吗?
    • 有必要,因为人工的去处理不同的版本,做相应备份会很麻烦。而且还会造成版本混论;操作不便;多人协同冲突等问题。
    • Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件

git的工作流程在这里插入图片描述

注:git add 时,是将修改文件存到缓存区;git commit -m 是将缓存区文件存到本地git仓库。

Git安装

  • 下载地址:https://git-scm.com/downloads
  • 全部默认,无脑下一步
  • 在任何一个文件夹中右击,选择"Git Bash Here",在弹出的窗口中输入“git --version”回车查看版本,输出版本号即为安装成功

初始化Git仓储/(仓库)

  • 这个仓库会存放,git对我们项目代码进行备份的文件
  • 在项目目录右键打开 git bash here
  • 命令: git init

自报家门

  • 就是在git中设置当前使用的用户是谁
  • 每一次备份都会把当前备份者的信息存储起来
  • 命令:
    • 配置用户名:git config --global user.name “xiaoming”
    • 配置邮箱: git config --global user.email “xm@sina.com”
      以上两项配置只需配置一次即可,若需修改,重复执行即可

把代码存储到.git仓储中

  • 1.把代码放到仓储的门口
    • git add 文件名 所指定的文件放到大门口
    • git add . 把所有的修改的文件添加到大门口
  • 2.把仓储门口的代码放到里面的房间中去
    • git commit -m “这是对这次添加的东西的说明”

可以一次性把我们修改的代码放到房间里(版本库)

  • git commit --all -m “一些说明”
    • –all 表示是把所有修改的文件提交到版本库

查看当前的状态

  • 可以用来查看当前代码有没有被放到仓储中去
  • 命令: git status

git中的忽略文件

  • .gitignore,在这个文件中可以设置要被忽略的文件或者目录。
  • 被忽略的文件不会被提交仓储里去.
  • 在.gitignore中可以书写要被忽略的文件的路径,以/开头,
    一行写一个路径,这些路径所对应的文件都会被忽略,
    不会被提交到仓储中
    • 写法
      • /.idea 会忽略.idea文件
      • /js 会忽略js目录里的所有文件
      • /js/*.js 会忽略js目录下所有js文件

查看日志

  • git log 查看历史提交的日志
  • git log --oneline 可以看到简洁版的日志

缓存区文件覆盖覆盖工作目录文件

我们可能add文件后又想让她回退回来就用:git checkout 文件名

删除缓存区中的文件

  • git rm --cached 文件名
    仅仅是从缓存区删除,并不会删除工作目录中的文件;
  • 也可以用 " git reset 文件名 " 命令代替
  • git rm --f 文件名
    删除文件,且不会丢进电脑垃圾回收站

回退到指定的版本

  • git reset --hard Head~0
    表示回退到上一次代码提交时的状态
  • git reset --hard Head~1
    表示回退到上上次代码提交时的状态
  • git reset --hard [版本号]
    可以通过版本号精确的回退到某一次提交时的状态
  • git reflog
    可以看到每一次切换版本的记录:可以看到所有提交的版本号

分支

分支分为很多种,这里介绍这几种
分支分为很多种,这里介绍这几种
查看分支:git branch

默认是有一个主分支master

创建分支

  • git checkout dev 创建一个dev分支
  • git branch dev 进入dev分支
    • 在刚创建时dev分支里的东西和master分支里的东西是一样的
  • git ckeckout -b dev 创建并进入dev分支

撤销中也有checkout,在执行这个命令时,git会优先看你跟的是否是分支名,如果是,就执行切换分支操作,如果不是,就看是否是文件名,执行撤销操作

切换分支

  • git checkout dev
    • 切换到指定的分支,这里的切换到名为dev的分支
      git branch 可以查看当前有哪些分支,是基于当前分支
    • git checkout -b dev 创建并切换

删除分支

  • git branch -d 分支名
  • 分支如果有改动,被合并后才可以被删除,如果还未被合并就想删除,可以使用大写的-D来强制删除
  • 不能删除当前分支,必须先切换到其他分支上再来删除

合并分支

  • git merge dev
    • 合并分支内容,把当前分支与指定的分支(dev),进行合并
    • 当前分支指的是git branch命令输出的前面有*号的分支
  • 合并时如果有冲突,需要手动去处理,处理后还需要再提交一次.

暂时保存更改

我们在合并分支时,分支上的缓存区有修改的文件还未提交,但是又想转到其他分支处理其他功能,那么直接切换或者合并分支都会造成错误,所以就需要一个暂存区来临时存储这个文件。

  • 存储临时改动: git stash
  • 恢复改动: git stash pop
    只有被追踪的文件才可以添加到暂存区;(被追踪的文件可能在缓存区也可能不在,比如:你已经提交到缓存区的文件用checkout撤回,它们不在缓存区里了,但是该文件已经被git追踪,这样的文件也可以添加到暂存区。)
    暂存区是所有分支共享的,但是一旦弹出暂存区的文件就没有了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值