Yelp计划明年提供更多本地团购服务或进行IPO
06-18
目录介绍关于它从哪里来、安装在哪里、如何给它简单的配置、对Git领域的简单了解、一些基本的小动作、一些大动作都写在最后。 《如何深入 Git》的总结与介绍 又到了每周选题大赛的时间了。
看到组里的大佬们不遗余力地出题、写文章、做题,这种动力一直在激励着我。这次我选择了小宇的《Git入门指南》,开始吧。
~ 1. 关于他 Git 是一个分布式版本控制系统(简称DVCS),用于跟踪和管理代码变更。它最初由 Linux 开发人员 Linus Torvalds 用 C 语言编写,主要用于 Linux 内核的开发,但现已成为最流行的版本控制系统之一。
这里我们需要明白为什么大家开始越来越喜欢Git,而慢慢放弃SVN、CVS等代码控制工具。 2、从哪里安装,可以从Git官网安装(v2.46.0,最后更新日期为07-29。
Windows系统:访问Git官网(Bash、Git GUI等工具,或者输入在命令行中使用 git 命令查看是否安装成功,我习惯使用 git -v Linux 系统:在大多数 Linux 发行版中,可以通过包管理器来安装 Git,例如在基于 Debian 的系统中(例如在 CentOS、Kylin 和 UOS 上,可以使用 sudo 来安装。在 macOS 系统上,可以通过包管理器来安装 Git。
如Homebrew,或者从Git官网下载安装包git和界面工具git-gui。代码语言:javascript copy~$brew list|grepgitgit-gui~$3.安装后如何给他简单的配置。
Git,需要配置用户信息,以便在提交代码时识别提交。 WHO。
您可以使用以下命令来配置用户信息: 代码语言:javascript copy ~ $ git config --global user.name "Your Name" ~ $ git config --global user.email "" 这里-- global参数代表全局配置,适用于当前用户下的所有Git仓库。如果需要为特定仓库设置不同的用户信息,可以去掉--global参数,在仓库目录下执行上述命令。
4. 简要了解Git的领域。 Git的工作流程主要围绕三个区域:工作区、暂存区和仓库: 工作区:编写代码的地方。
新的、修改的或删除的文件将反映在这里。 。
暂存区(Stage/Index):暂存区是临时存储修改的区域。工作区中的修改通过 git add 命令添加到暂存区。
Repository:存储库是Git管理代码的地方,所有提交的历史记录都保存在这里。通过git commit命令将暂存区的变更提交到仓库。
5.经常对他执行一些基本操作 【查看仓库状态】 git status 命令会显示当前仓库的状态,包括哪些文件已经修改但还没有提交等。 代码语言:javascript copy ~ $ git status 【添加文件到暂存区】将指定文件添加到暂存区,或者使用git add。
添加当前目录中的所有文件。代码语言:javascript copy ~$ git add <文件> 【提交文件到仓库】将暂存区中的修改提交到仓库,并附上提交信息。
代码语言:javascript copy~ $ git commit -m "提交信息" 【查看提交历史】 查看当前仓库的提交历史。代码语言:javascript copy~$ git log 【回滚版本】回滚仓库到指定的commit版本。
代码语言:javascript copy ~ $ git reset --hard
代码语言: javascript copy ~ $ git push
通过合理利用分支,可以大大提高发展。团队合作的效率和灵活性。
分支允许开发人员开发新功能、错误修复或实验性更改,而不会影响主代码库(通常是主分支或主分支)。比如腾讯云某个开源项目的一个分支:一个分支就相当于一条时间线。
每次提交都会形成一个版本。每个版本都存储在分支的每个提交点。
分支上有一个指针,默认指向最新的提交点。 。
分支的一般操作如下: 6.1.1 查看分支代码语言:javascript copy ## 查看本地分支 ~ $ gitbranch ## 查看远程分支 ~ $gitbranch -r## 查看所有分支(包括本地和远程) ~ $ gitbranch -a6.1.2 创建分支代码语言:javascript copy ## 创建一个新的本地分支并切换到该分支 ~ $ git checkout -b
6.1.7 拉取远程分支到本地代码语言: javascript copy ## 创建新的本地分支并跟踪远程分支 ~ $ git checkout -b
标签通常用于标记重要的发布点(例如软件发布),因为它们允许您轻松回滚到项目历史记录中的特定点。例如,腾讯云开源项目标签: 6.2.1 创建标签 要创建新标签,可以使用 git tag 命令,后跟标签名称和可选的提交哈希(默认为当前分支的最新提交) )。
[创建默认类型标签] 在当前分支的最新提交上创建一个名为 v1.0 的轻量级(默认类型)标签。代码语言: javascript copy~ $ git tag v1.8.3 【创建带有消息/签名的标签】 代码语言: javascript copy~ $ git tag -a v1.8.3 -m "Release version 1.0" -a: 表示创建一个 pragma标签。
-m 选项后面是该标签的注释信息。 【创建 GPG 签名标签】 代码语言:javascript copy~ $ git tag -s v1.8.3 -m "Signed release version 1.0" -s:表示要创建 GPG 签名标签。
6.2.2 查看/推送标签 【查看标签】 默认情况下,如果想查看所有标签,可以使用 git tag 命令。如果需要特定版本的标签,可以使用 git show [tagName] 查看。
【推送标签】默认情况下,当你执行 git push 命令时,Git 不会自动将你的标签推送到远程仓库。要推送标签,可以使用以下命令: 代码语言:javascript copy ~ $ git push origin v1.8.3 ~ $ git push origin --tags6.2.3 删除标签 在实际应用中,一般不建议删除标签(版本),如果资源允许,可以打开一个新标签来保存原来的标签。
然而,某些功能的要求仍然需要清楚地了解。按照清理步骤进行: 代码语言:javascript copy ## 首先删除本地标签 ~ $ git tag -d v1.8.3## 然后将更新推送到远程仓库 ~ $ git push origin :refs/tags/v1.8.3# # 在 2.0 中也可以使用以下命令 +~ $ git push origin --delete v1.8.36.3 合并冲突解决 在 Git 中,合并冲突是一个常见问题,通常发生在两个或多个分支中。
对同一文件的同一部分进行了不同的修改。解决 Git 合并冲突需要一定的步骤和技巧。
不管怎样,尽量不要去覆盖别人的代码或者用别人的代码去覆盖自己的代码。如果你不熟悉,可以先手动解决一些冲突;熟悉命令后使用,会收到事半功倍的效果;还可以使用Git GUI、SourceTree、Beyond Compare、KDiff3等图形化工具提供直观的界面来帮助用户解决合并冲突。
开发过程中尽量避免冲突,但遇到冲突也不要惊慌。以下是一些避免冲突的建议: 定期更新分支:在合并之前,定期更新多个分支的代码,以减少合并时的冲突。
良好的团队合作:通过良好的团队合作和代码审查,减少对代码同一部分的同时修改。使用Pull Request:在合并之前,使用Pull Request进行代码审查,以便及时发现并解决潜在的冲突。
7.写在最后:如何深入Git。深入Git的途径和方法有很多。
这里推荐三个:官方网站、书籍、在线课程。 7.1 官网 Git 官网(书籍 7.2.1 《Pro Git》和官网一样,看书也是一种静态的学习方法,巩固知识是一个不错的选择。
Git 相关的书籍种类很多,这里有一些博主推荐阅读 第一本推荐的书是官方指定的书——《深入学习Git 7.2.2》的经典之作《Git权威指南》《Git权威指南》是Git领域的一本巨著,是一本关于Git的百科全书。就广度而言,作者是国内顶尖的版本控制专家和顾问之一,本书得到了Git官方维护者Junio C Hamano、范凯(Robbin)先生等多位专家的支持。
ITeye创始人,高度认可,强烈推荐,权威性毋庸置疑 7.2.3 《Git高手之路》这本书最好的地方就是可以让你了解内部的概念、行为和最佳实践。共12章,从基础知识开始,依次介绍了项目历史管理、使用Git进行程序开发、工作区管理、Git协同开发、分支应用推进、集成变更、历史记录管理、子项目管理、Git定制与扩展。
、Git日常管理、Git最佳实践。其他如《Git从入门到精通》、《版本控制之道》、《Git分支管理策略》、《深入理解Git》等书籍可以酌情阅读和理解。
7.3 在线课程可以快速吸收营养和知识。各大在线教育平台(如Coursera、慕课网、Bilibili等)都提供了丰富的Git课程,适合不同水平的学习者。
版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。
标签:
相关文章
06-18
06-17
06-17
06-18
06-06
06-18
06-21
06-06
最新文章
【玩转GPU】ControlNet初学者生存指南
【实战】获取小程序中用户的城市信息(附源码)
包雪雪简单介绍Vue.js:开学
Go进阶:使用Gin框架简单实现服务端渲染
线程池介绍及实际案例分享
JMeter 注释 18 - JMeter 常用配置组件介绍
基于Sentry的大数据权限解决方案
【云+社区年度征文集】GPE监控介绍及使用