git使用

  1. git
    所有版本信息仓库全部同步到本地的每个用户,这样就可以在本地查看所有的版本历史,可以离线在本地提交,只需联网时push到响应的服务器或其他用户那里.由于每个用户那里保存的是所有的版本数据,只要有一个用户设备没有问题就可以恢复所有的数据,但这增加了本地存储空间的占用.另外每个人都拥有全部的代码,造成安全隐患.
    在这里插入图片描述
  2. git和svn区别
  • svn是集中式版本控制系统,版本库集中放在中央服务器,在工作的时候,要首先从中央服务器中得到最新的版本,然后工作,完成工作后,需要把自己做完的推送到中央服务器.而git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库.在协同的时候,比如自己在电脑上修改了文件A,其他人也修改了文件A,那么只需把各自修改的推送给对方,就可以互相看到对方的修改了.
  • svn工作时必须联网,对网络带宽要求较高;而git工作时不需联网,因为版本都在自己电脑上.只需要在联网时push下就可以了.
  1. git工作流程
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. git中文件的四种状态
    在这里插入图片描述

  3. 忽略文件
    在这里插入图片描述

  4. 暂存区存在的意义
    在软件开发中,很多时候要求我们停止手头上的活去处理别的事情,但此时代码写到一半,无法commit到分支/主干。此时,Git提供了一个暂时存储的功能,将代码add到暂存区,然后将其放在安全的位置,等到紧急任务处理完毕之后,在切回来处理手头上的工作。(git stash命令)
    引用链接

  5. git常用命令

  • git init: 使用当前目录作为git仓库,也可以使用指定目录(在init后加空格目录)
  • git add filename: 将当前工作目录中的文件添加到暂存区中
  • git add . : 将所有新增和修改的文件添加到暂存区
  • git commit -m “注释信息”: 将暂存区中的文件提交到仓库
  • git commit -a -m “注释信息”:
    作用1: 不需先add再commit,可以直接将工作目录中所有被修改的文档提交到仓库中;
    作用2: 将已删除的且已经被git管理的文件提交,目的是为了在仓库中也删除该文件,从而彻底删除文件。
    注: -a不会造成新文件被提交,只能是修改的文件
  • 如何恢复删除的文件(前提是已经提交文件到仓库中)
  1. 如果使用rm命令删除文件,则使用git checkout – "文件名"即可恢复
  2. 如果使用git rm命令删除文件,但是还没有git commit 提交该删除操作,则使用“git reset head 文件名”撤销删除操作,然后使用“git checkout – 文件名”命令即可恢复文件.
  • git clone http://github.com/username/learngit.git: 从服务器克隆一个库
  • git push http://github.com/username/learngit.git: 将本地仓库中的文件推送到服务器(https方式)
  • git push: 如果使用ssh的方式并且已经配置好密匙
  • git pull http://git.example.com/project.git: pull=fetch+merge,获取更新内容并合并当前分支
  • git branch test: 创建新的分支
  • git checkout “分支名”: 切换分支,会清除工作区的内容,所以工作区中的内容要先add、commit
  • git checkout master git merge test: 这两个命令作用是合并test分支中的文件到master分支
  • git branch -d test: 删除分支
  • git remote add origin http://github.com/username/learngit.git: 使用https关联本地仓库和远程仓库. username 是远程仓库的用户名,learngit是远程仓库的名称
  • git remote add origin git@github.com:michaelliao/learngit.git: 使用ssh关联本地仓库和远程仓库.
  • git stash: 把所有未提交的修改(包括暂存的和非暂存的)都保存起来,用于后续恢复当前工作目录,执行该命令后当前工作目录清空。
  • git stash pop: 恢复之前缓存的工作目录,并从缓存堆栈中删除
  • git stash apply: 将缓存堆栈中的stash多次应用到工作目录中,但并不删除stash拷贝
  • git stash drop “stash_name”: 删除stash
  • git stash clear: 删除所有缓存的stash。
  1. 怎么提交项目中除配置文件外的其他文件
  • git rm --cached 命令是将一个文件从暂存区删除。假设你有一个已经提交到版本库的文件,你发现这个文件其实不应该提交上去(例如配置文件,每个人的都不一样,经常造成冲突)
  • 通过修改.gitignore文件,把user.config加到文件中,使git忽略这个文件(没懂…)
  • git commit -m 'XXX’命令,用暂存区覆盖版本库。由于暂存区没了这个文件,覆盖后,版本库也就没了这个文件,这个文件就被这么从版本库删掉了,但是它还留在你的工作区。
  1. git中clone和pull的区别
    clone是本地没有repository时,将远程repository整个下载过来。
    pull是本地有repository时,将远程repository里新的commit数据(如有的话)下载过来,并且与本地代码merge。

  2. git中对于所有分支来说,暂存区和工作目录是公共的.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值