Git 使用教程

1.版本控制概述

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。

Git 与 SVN 区别

Git 不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。
如果你是一个具有使用 SVN 背景的人,你需要做一定的思想转换,来适应 Git 提供的一些概念和特征。
Git 与 SVN 区别点:

  • Git 是分布式的,SVN 不是:这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。

  • Git 把内容按元数据方式存储,而 SVN 是按文件:**所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.cvs 等的文件夹里。

  • Git 分支和 SVN 的分支不同:分支在 SVN 中一点都不特别,其实它就是版本库中的另外一个目录。

  • Git 没有一个全局的版本号,而 SVN 有:目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。

  • Git 的内容完整性要优于 SVN:Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

在这里插入图片描述

在这里插入图片描述

集中式和分布式区别

在这里插入图片描述

git工作流程

在这里插入图片描述

2.Git命令

初始化本地git仓库:

git init

查看本地仓库状态:

git status

设置提交代码时的用户信息:

git config --global user.name 用户名

git config --global user.email 邮箱

eg:

git config --global user.name luyang

git config --global user.email 330027364@qq.com

工作区提交至暂存区:

git add 文件名

eg:

git add .

git test.c

git *.c

把文件移除暂存区:

git rm --cached 文件名

提交本地仓库:

git commit -m "日志信息" 文件名

eg:

git commit -m "v1.0 xxx" 

简要日志信息:

git reflog

查看提交历史:

git log
git log [选项] [分支名/提交哈希]
  • 常用的选项包括:
  • -p:显示提交的补丁(具体更改内容)。
  • --oneline:以简洁的一行格式显示提交信息。
  • --graph:以图形化方式显示分支和合并历史。
  • --decorate:显示分支和标签指向的提交。
  • --author=<作者>:只显示特定作者的提交。
  • --since=<时间>:只显示指定时间之后的提交。
  • --until=<时间>:只显示指定时间之前的提交。
  • --grep=<模式>:只显示包含指定模式的提交消息。
  • --no-merges:不显示合并提交。
  • --stat:显示简略统计信息,包括修改的文件和行数。
  • --abbrev-commit:使用短提交哈希值。
  • --pretty=<格式>:使用自定义的提交信息显示格式。

以列表形式查看指定文件的历史修改记录:git blame 文件名

git blame [选项] <文件路径>
  • 常用的选项包括:
  • -L <起始行号>,<结束行号>:只显示指定行号范围内的代码注释。
  • -C:对于重命名或拷贝的代码行,也进行代码行溯源。
  • -M:对于移动的代码行,也进行代码行溯源。
  • -C -C-M -M:对于较多改动的代码行,进行更进一步的溯源。
  • --show-stats:显示包含每个作者的行数统计信息。

版本切换:

git reset --hard 版本号

查看分支:

git branch -v

列出分支:

git branch

创建分支:

git branch 分支名

切换分支:

git checkout 分支名

切换并创建分支名:

git checkout -b 分支名

删除分支名:

git branch -d 分支名

合并分支(无冲突):

git merge 分支名

合并分支(有冲突):在master分支下合并dev分支,然后修改冲突代码,重新add,commit。在dev分支中,合并master主分支,让内容是最新版本

git merge dev

产生公钥:

ssh-keygen -t rsa

查看公钥:

cat ~/.ssh/id_rsa.pub

验证公钥:

ssh -T git@gitee.com

添加与推送远程仓库master:

git remote add origin 仓库地址

查看远程仓库:

git remote

推送远程仓库:

git push origin master

推送远程仓库(dev分支):

git push origin dev

建立关联:

git push --set-upstream origin master
git branch -vv (查看关联)
git push (建立好关系后,直接可以推送)

克隆命令:

git clone 仓库路径 本地目录

3.分支管理

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值