Git及Github

Git及Github的使用

本文讲述Git的基本概念及本地库基本使用方法等。
以下任何[]在实际输入命令忽略即可,只是起到扩起目标词的作用--

版本控制工具:协同修改、数据备份、版本管理、权限控制、历史记录、分支管理。

Git的基本介绍

  • 是一种采用文件系统快照对的方式,对每个版本的文件信息进行管理的工具,即版本控制工具。SVN则采用增量式管理的方式。

  • 是一种分布式版本控制工具,而SVN则是集中式控制。

    1、分布式版本控制系统没有“中央服务器”,每个人的电脑都是一个完整的版本库,不用联网安全性相对于集中式版本控制系统要高很多。

    2、分布式版本控制系统还拥有强大的分支管理能力,允许开发团队在工作过程中多条生产线同时推进任务,大大提高效率。

  • 对团队外参与开发人员进行权限控制,对其代码进行审核。

Git命令行操作

1.设置签名

分别在命令行中输入以下代码,进行user.name和user.email的设置

git config --global user.name [user.name]

git config --global user.email [user.email]

--global 是系统用户级别,信息保存在:~/.gitconfig 文件中。

可以通过$ cat ~/.gitconfig命令查看。

2.创建本地库

选择合适的地方,创建空目录并进入(可以不按照默认路径)。

$mkdir gitwork
$cd gitwork

可以输入pwd查看当前显示的目录

3.仓库初始化

git init

初始化成功,当前目录下多出了.git目录,不能随意修改或者删除。

可以使用ls -ah查看隐藏的.git

4.状态查看

git status

当前为空库,所以no commits .分支为master.

5.添加文件

1、想要添加文件,得先写一个文件。用vim [filename]写一个.txt文件,关于vim的在此不做过多的探究,退出键为ESC,再输入:wq,文件便创建完成。

2、使用git add [filename]命令,将文件加到暂存区。

可以发现,出现了warning语句。注意:
warning: LF will be replaced by CRLF in app.wxss.
The file will have its original line endings in your working directory.
原因是路径中存在 / 的符号转义问题,false就是不转换符号默认是true,相当于把路径的 / 符号进行转义,这样添加的时候就有问题.解决方法就是输入以下命令,接着按原计划走。
git config --global core.autocrlf false

**添加文件夹->git add .->.代表当前目录所有。

gYi6HF.png

6.提交文件

此时再次输入git status命令,可以查看仓库的状态,以加深对工作区,暂存区和本地库的理解。

一个新的文件被加入到暂存区,就是绿色部分所显示的。将“新建、修改”的文件添加至暂存区

git commit -m "message"[filename]

将暂存区的内容提交至本地库。

7.历史记录

git log

当然,这里作为演示,只有一步行为。在实际的应用过程中,版本更新的频率是很高的,所以为了看着舒适清晰,可以采用以下命令:

git log --pretty=oneline 包含sha1哈希值,指针指向,以及commit内容
git log --oneline  包含一小部分sha1哈希值,指针指向以及commit内容
git reflog 包含一小部分哈希值,HEAD@{移动到当前版本需要的步数}以及commit内容

8.前进后退

在提交了多次修改申请之后,界面变成如下:

  • 后退:git reset --hard HEAD^ 表示后退一步

提示:HEAD is now at f435d69 commit youfirst.txt

git reset --hard HEAD~n 表示后退n步

git reset --hard[index] 基于索引值

  • 前进:只能基于索引值,推荐使用。

前进或者后退,HEAD指针都在随着版本更新,在变化。

reset三个参数的对比

  • --soft:仅仅在本地库中移动HEAD指针。

  • --mixed:在本地库中移动HEAD指针。

    重置暂存区。

  • --hard:在本地库中移动HEAD指针。

    ​ 重置暂存区。

    ​ 重置工作区。

9.删除文件

前提:删除前,文件存在的状态提交到了本地库。

git reset --hard[指针位置]

  • 删除操作已经提交到了本地库:指针位置指向历史记录。
  • 删除操作尚未提交到本地库:指针位置使用HEAD。

10.比较文件差异

1、git diff[filename]:将工作区的文件和暂存区进行比较。

2、git diff[本地库中的历史版本][文件名]工作区本地库中的历史记录比较。

3、不带文件名比较多个文件。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


咱们在vscode中使用copilot的过程中,有可能会涉及到个人账号和其他账号的互相切换,在网上找了半天都没找到相应的资料,于是就自己摸索了一下,终于找到了方法。解决思路:经过试验,github copilot插件是使用的vsc
这篇文章给大家介绍怎么在GitHub上快速找到实用资源,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。搜热门:GitHub Trend 和 GitHub Top...
这篇文章主要介绍“github缓存穿透的解决方法是什么”,在日常操作中,相信很多人在github缓存穿透的解决方法是什么问题上存在疑惑,小编查阅了各式资料,整理出...
本篇内容介绍了“github线性回归怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
怎样使用GitHub,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。GitHub简介...
今天小编给大家分享一下GitHub的高级搜索方法有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下...
这期内容当中小编将会给大家带来有关Github 1.9K Star的数据治理框架Amundsen如何理解,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可...
本篇文章为大家展示了git如何设置代理提升github clone速度,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。github...
本篇内容介绍了“github怎么实现FaceU边框模糊效果”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理...
本篇内容介绍了“GitHub基础操作有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧...
这篇文章主要介绍了Github操作技巧实例分析的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Github操作技巧实例分析文章都会有
今天小编给大家分享一下github设备激活的方法的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大...
本文小编为大家详细介绍“GitHub的命令行工具有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“GitHub的命令行工具有哪些”文章能帮助大家解决疑惑,下面...
本篇内容主要讲解“GitHub网页githubusercontent地址无法访问怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大...
本文小编为大家详细介绍“怎么使用Github Action发布jar到Maven中央仓库”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用Github Action发布jar到Maven...
本文小编为大家详细介绍“GitHub中如何修改默认的分支”,内容详细,步骤清晰,细节处理妥当,希望这篇“GitHub中如何修改默认的分支”文章能帮助大家解决疑惑...
这篇“Github访问速度慢及图片加载慢问题怎么处理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价
这篇文章主要介绍“vue项目打包上传github并制作预览链接的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“vue...
这篇文章主要讲解了“访问不了github怎么处理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“访问不了gith...
今天小编给大家分享一下GitHub访问不了怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希