【Linux】版本控制器Git

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 【Linux】版本控制器Git

👉Git概述👈


Git 是一个免费的、开源的分布式版本控制系统,可以快速高效地处理从小型到大型的各种项目。Git 易于学习,占地面积小,性能极快。它具有廉价的本地库(俗称就是磁盘中的文件夹),方便的暂存区域和多个工作流分支等特性。其性能优于 Subversion、CVS、Perforce 和 ClearCase 等版本控制工具。


何为版本控制


版本控制是一种记录文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制其实最重要的是可以记录文件修改历史记录,从而让用户能够查看历史版本,方便版本切换。


举个通俗易懂的例子,就好比写毕业论文的时候,不可能写一遍就能得到导师的肯定,要多次修改。为了保留一开始的毕业论文,我们通常会拷贝原来的毕业论文,生成一个副本,对毕业论文的副本进行修改。最后,我们也可以通过对比原本和副本之间的优劣。下图就是简单的版本控制。


c76dd2f67f87475a9913e850489561a4.png


Git 的发展史


f006fea6795443c1b06bdef1d94e42b1.png

👉Git操作👈


新建仓库


登录自己的 gitee 账号,点击右上方的 “+” 号新建仓库。新建仓库的语言和.gitignore根据自己学习的语言来选择,其余选项可以和我选择的一样,最后点击创建。


3c648d39b95d43b8aec8a8e122ed357e.png

克隆远程仓库到本地


创建完成后,复制克隆 / 下载里的 HTTPS 链接,然后在自己想要在的路径下 Linux 里输入命令git clone HTTPS链接,然后输入自己的 gitee 账号和密码即可完成克隆。


2deab6c97e034860a0d1f30a81969174.png



855a9ba19e78441fa3c2c85ccc25a87e.png

克隆完成后,我们可以进入刚克隆好的仓库,输入ll -a指令来查看仓库里的内容。(注:下图有每个文件的说明)



a63286a7d243479bab0d2cb7b90b08dc.pngbb7b9ed14da5463b85de95f44ce47702.png


安装 git


克隆完成后,我们需要输入sudo yum install -y git指令来安装 git。当我们首次使用新安装的 git 的时候,git 会提示我们进行用户名和邮箱的配置。


git config --global user.email "邮箱地址" #配置邮箱
git config --global user.email "用户名"  配置用户名


配置 .gitignore


文件 .gitignore 里面内容是一些文件或者是文件名,只要在 .gitignore 里出现的,相应的文件都不会被提交到远端仓库。


以下是我配置好的 .gitignore 文件,大家可以参考一下。


# Build and Release Folders
bin-debug/
bin-release/
[Oo]bj/
[Bb]in/
# Other files and folders
.settings/
# Executables
*.swf
*.air
*.ipa
*.apk
#过滤掉不想要文件和文件夹
*.sln
*.vcxproj
*.filters
*.user
*.suo
*.db
*.ipch
Debug/
.vs
Release/
#ignore makefile/Makefile
makefile
Makefile
# Prerequisites
*.d
# Compiled Object files
*.slo
*.lo
*.o
*.obj
# Precompiled Headers
*.gch
*.pch
# Compiled Dynamic libraries
*.so
*.dylib
*.dll
# Fortran module files
*.mod
*.smod
# Compiled Static libraries
*.lai
*.la
*.a
*.lib
# Executables
*.exe
*.out
*.app


注:# 号后面的内容为注释信息。大家可以自行测试 在 .gitignore 里出现的文件是否会被推送到远程仓库。


将新增文件添加到暂存区


git add . 或者 git add --all #将当前目录添加到暂存区
git add 文件名 #将指定文件添加到暂存区


将新增文件添加到本地仓库


git commit -m '日志信息' #将新增的内容添加到本地仓库.git


注:日志信息不能没有,也不能乱写。


将新增文件推送到远端仓库


git push #将新增内容推送到远端仓库


f4471d7178694f4eb92cb3b1e1eb2d07.png


e70c903b67284b1fb2be069229741c86.png

查看日志信息


git log #查看日志信息


b66191be7d204dada95edf3bc165fc19.png


为什么日志信息不能没有,也不能乱写呢?因为你将来面试是要将你的 gitee 贴在简历上的,如果面试官将你的远端仓库克隆下来,然后在看你的日志信息。这时候,面试官会想些什么呢?自己慢慢体会啊!


查看仓库状态


git status #查看仓库状态


b0a26a4d0e0d45f7b5bca005d2c25590.png


重命名已提交的文件


git mv 原来的文件名 想要的文件名 #将原来的文件重命名


这个命令,我也不做示范了。大家有需要的时候,可以使用该命令。


拉取远端仓库


git pull #拉取远端仓库,将本地仓库的信息和远端仓库的信息保持一致


为了测试这个功能,我们首先修改一下我们远端仓库文件的内容。

c2e2f9f50ed54b19920b0d5653ddc08a.png然后再创建一个新文件,然后git add 新文件、git commit -m '日志信息'和git push,做完这些步骤后,会出现下图类似的提示。

a4749fd8a13642b4818b5c1db19bd533.png


输入git bash命令后,会出现很多提示信息。这些提示信息,我们都不需要管,输入:q!命令强行退出就行了。


以上步骤完成后,我们输入git status命令查看一下仓库的状态。


6dd579462107435a8e47d95b25e855c8.png

输入git push命令后,我们可以看到刚才新增的文件也被推送到远程仓库了。也能够看到,我们在远程仓库上做的修改也同步到本地仓库了。


d2e5395694ef46288787588b55fa3881.png

9cfb86f5bfd44843827248de70a878f0.png


删除远端仓库的文件


git rm 文件名 #删除远端仓库的文件


40017603440a4906965a18992b87dd64.png6ababe5a19f84defafb343307858c704.png



可以看到,我们刚刚的测试文件已经被移除出远端仓库和本地仓库1了。


1e65b2dadc3a425c8e7a6988b6411704.png

最后,我们来看看我们的日志信息。



9b9daeb880ca465797b97dcd85cff022.png


注:git push 的时候,需要输入用户名和密码。其实是可以配置成免密码的,但是不推荐。


👉总结👈


本篇博客主要讲解了什么是 Git 以及 Git 的基本操作。那么以上就是本篇博客的全部内容了,如果大家觉得有收获的话,可以点个三连支持一下!谢谢大家!💖💝❣️






























相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
敏捷开发 存储 开发工具
版本控制系统的选择:Git与SVN的比较
【8月更文挑战第14天】Git和SVN都是优秀的版本控制系统,它们各自具有独特的优势和适用场景。在选择版本控制系统时,需要根据具体的项目需求、团队特点和开发模式来综合考量。对于需要分布式团队协作、高效处理大型项目或采用敏捷开发模式的团队来说,Git是一个更好的选择。而对于传统团队、集中式开发或简单项目来说,SVN可能更加合适。无论选择哪种版本控制系统,都应该充分利用其提供的工具和功能来提高代码质量和开发效率。
|
6月前
|
存储 Linux 开发工具
掌握版本控制的艺术:Git 技巧深度解析
在软件开发中,版本控制对于代码管理和团队协作至关重要。Git 作为最流行的分布式版本控制系统,凭借其强大的功能和灵活性成为开发者必备工具。本文深入探讨 Git 的高级技巧和最佳实践,包括交互式暂存、撤销提交、合并冲突处理等,帮助你更高效地使用 Git。通过遵循清晰的提交信息、保持提交原子性、利用分支开发等最佳实践,开发者可以更好地管理代码库,提升协作效率。
|
6月前
|
Linux 开发工具 git
linux自建仓库git之钩子不生效
linux自建仓库git之钩子不生效
|
6月前
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
7月前
|
项目管理 开发工具 git
|
6月前
|
图形学 开发工具 git
Unity与版本控制:游戏开发团队如何利用Git打造高效协作流程,实现代码管理的最佳实践指南
【8月更文挑战第31天】版本控制在软件开发中至关重要,尤其在Unity游戏开发中,能提升团队协作效率并避免错误。本文介绍如何在Unity项目中应用版本控制的最佳实践,包括选择Git、配置项目以排除不必要的文件、组织项目结构、避免冲突、规范提交信息以及使用分支管理开发流程,从而提高代码质量和团队协作效率。
597 1
|
7月前
|
存储 Linux 开发工具
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
【Azure App Service】本地Git部署Python Flask应用上云(Azure App Service For Linux)关键错误
|
9月前
|
JavaScript Ubuntu Linux
蓝易云 - linux中安装nodejs,卸载nodejs,更新nodejs,git
请根据自己的Linux发行版和版本选择合适的命令。
250 2
|
9月前
|
Linux 测试技术 开发工具
CentOS Linux 8使用阿里源(安装jdk11、git测试)
CentOS Linux 8使用阿里源(安装jdk11、git测试)
737 1
|
9月前
|
Linux 持续交付 开发工具
版本控制系统的选择:Git vs. Mercurial
【6月更文挑战第20天】Git vs. Mercurial: 两者都是流行的DVCS,Git由Linus Torvalds创建,以其速度和复杂分支管理著称,适合大型项目和有经验的开发者。Mercurial,由Matt Mackall开发,以其简洁命令行和易用性吸引初学者。Git社区更大,扩展更丰富,而Mercurial在某些场景下可能更直观。选择取决于项目需求、团队经验和偏好。