Git使用笔记

这里写图片描述

关于Git:

Git 是一种分布式的版本控制工具,其作用如下:

  • 备份工程,存档防止因为意外情况
  • 记录修改历史,记录修改的时间和位置,错误回复,版本回滚
  • 在多端同步自己提交的代码

Git 与 SVN的区别

这里就说一下最主要的区别:Git是分布式的,SVN是集中式的。

  • SVN的版本库只有一个(什么是版本库?),就在其中央服务上。开发人员干活的时候,就先从中央服务器下载最新的项目版本,然后进行操作,完成后就再把本地的项目代码推送回中央服务器,这样做的前提是你必须联网!

  • Git没有这样一个中央服务器,每个开发人员电脑上都有一个独立的版本库。进行开发的时候,代码可以在个人电脑上任意修改,然后提交,这样在断网的情况下也能完成工作了。但是,这样出现的问题就是,如何实现多人协同开发?最初的做法应该是,各个开发人员之间相互推送修改,比如A修改了一个项目中的test.c文件,那当他要将修改后的版本,同步给其他团队成员时,他可能需要将修改推送给每个成员。这样做至少来说会很低效,当团队比较大的时候,开发效率明显就不行了。所以,后来分布式版本控制系统通常也有一台“中央服务器”,但是这个服务器只是用来方便大家“交换”修改罢了,其定位和SVN的中央服务器是不同的,我们称它为代码托管网站,像现在的githubgit@OSC

Git常用命令和简介:

版本修改与提交:

  • git diff filename —— 检查文件filename相较于之前做了哪些修改,在用add命令添加到暂存区前才能看到变化
  • git add filename —— 将文件filename添加到暂存区
    ,将filename替换成-A后,这个命令是将工作区所有文件加入到暂存区,但是不建议加这个参数
  • git status —— 显示目录中的文件修改与提交情况
  • git commit -m “description” —— 提交存在于暂存区的内容保存到版本库中

版本回滚和前滚:

  • git log —— 显示从最近到最远的版本提交日志,每份日志上会有commit-id、作者、时间以及提交时的描述
  • git reset –hard commit-id —— 使用这个可以回到,commit-id这次提交后的版本
  • git reflog —— 显示你每一次的命令,且提供当时的commit-id,利用这条命令,我们可以获得回滚前的commit-id,然后使用前面的reset命令回到未来

分支管理:

  • git branch newbranch —— 创建名为newbranch的分支
  • git checkout curbranch —— 转移到名为curbranch的分支下
  • git checkout -b curbranch —— 创建并转移到名为curbranch的分支下
  • git merge anotherbranch —— 将当前分支与名为anotherbranch的分支合并
  • git branch -d curbranch —— 删除名为curbranch的分支

关于分支的合并:

假如两个合并的分支,其文件内容没有在同一行都进行了修改,那么Git能够完美的帮你完成合并;但是如果,在同一行都进行了修改,那Git会提示合并出现了冲突,在冲突的地方Git会进行标记,这时就需要人工处理一下了。

Git远程操作:

  • git clone address newname —— 克隆地址为address的远程版本库到本地,并命名为newname(可选)
  • git remote -v —— 查看远程版本主机名和地址
  • git remote show hostname —— 显示主机名为hostname的远程版本主机的详细信息
  • git remote add hostname address —— 添加主机名为hostname,地址为address的远程主机
  • git remote rm hostname —— 删除主机名为hostname的远程主机
  • git fetch hostname branch —— 从主机名为hostname的远程主机上名为branch(可选)的分支上取回更新,不指定分支就取回所有分支更新
  • git pull hostname remotebranch:localbranch —— 取回远程主机remotebranch分支与本地分支localbranch合并,pull后面都是可选的
  • git push hostname remotebranch:localbranch —— 将本地分支localbranch的更新,推送到远程主机分支remotebranch,push后面都是可选的

一些Git使用建议:

  • 多用客户端和工具,少用命令行,除非是在Linux服务器上直接开发
    (永远记住我们学习使用工具的目的是,为了使用工具提升工作效率而不是工具本身)
  • 每次提交前,diff自己的代码,以免提交错误代码
  • 下班回家前,整理好自己的暂存区,以免遗忘而造成错误,也有好的工作环境,提交后也多了份备份
  • 并行的项目,使用分支开发,不同模块开发可能有关联,以免互撤后退
  • 遇到冲突是,搞明白冲突的原因,千万别随意丢弃别人的代码
  • 产品发布后,记得打一个tag,方便将来拉分支修bug
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值