GitHub系列教程三————上手Git

讲真,上周在放假当天,我在公号更新的这篇Github系列教程二 「加入Github」,不知道是因为放五一假的喜悦还是咋滴,导致那篇文章的阅读量大大下降,恩,绝对是因为放假了,大家都没时间看文章。

为了能保证以后假期大家可以好好的玩耍,所以,我可能不会再在放假的时候更新文章了。

那么,没看这篇Github系列教程二 「加入Github」,赶紧去看。

多的不扯了。

这篇,我将针对Git的知识来一次讲解,争取能让你们可以速成Git,或者解决积攒下来的Git概念上的问题。

Git简介

Git是Linux发明者Linus开发的一款版本控制系统。

首先,它是一个版本控制系统,那什么是版本管理,到底怎么理解版本控制系统?

版本管理:我们开发好的软件是通过应用平台来进行版本管理的。那么同样的,Git的作用则是对我们的代码进行版本管理。

同时,它也可以解决这样一些问题:

比如,为了防止代码丢失,我们会在本地和远端都进行一次存放。同时也需要git这样一套机制来实现本地和远端的同步。

比如,我们上传到应用市场的软件出现了重大Bug,那么我们可以通过Git管理的代码,来紧急对代码进行revert(回滚)到稳定版本。

又比如,我们的软件有对应的版本,那么同样的,Git也可以为我们的代码设置对应的版本号(tag),这样我们就可以清楚地找到对应版本软件的代码。同时还可以查到每次提交的Log,从而找到修改这块代码的开发者。

其次它和SVN最大的区别就是分布式管理。那么分布式管理又是什么呢?

分布式管理:每一个本地都是一个版本控制的系统,同时远端的仓库也是一个版本控制系统。这样就既达到了代码的安全性也促成了高效的软件开发。

所以,Git对我们的代码管理起了很大的作用。同时这也是在我们整个软件开发中最重要的一个环节。

Git安装

Git本身就是一个工具,在Github系列教程一 「开门」中也做了讲解。

所以在使用之前,我们需要安装这个工具。

以下,我给出各个平台的安装方式:

Mac:https://sourceforge.net/projects/git-osx-installer/

Windows:https://git-for-windows.github.io/

Linux: apt-get install git

上面,Mac和Linux 系统的,我强烈建议你使用命令来做。Windows的还是用图形界面的比较方便。

当然就算你是Windows,我也是建议下你使用命令来玩Git。 因为用了Shell之后,你会对整个Git的版本机制有一层更深的理解。

同时我推荐两个图形化的Git工具。

SmartGit: http://www.syntevo.com/smartgit/

SourceTree: https://www.sourcetreeapp.com/

这两个都有很不错的交互体验。

配置Git

我们的Git环境已经安装好了。

那么,Git是如何提交代码,又是如何标识代码的提交者呢?

这时候,就引出了ssh_key这个东西。这个key是git帮我们生成,并且保存在隐藏文件夹的一个密码。

接下来,我们让Git帮我们生成这个ssh_key。

命令如下:


这个文件夹中有 id_rsa和id_rsa.pub两个重要文件。

其中id_ras.pub是我们要提供给Github来管理的。另外一个id_rsa是一个私钥。

这里我们也可以看到git对每次代码的提交都是做了rsa算法的加密。所以这两个文件,自己一定要保管好,不能泄漏,泄漏的话,别人就可以用你的名义进行代码提交。

Git命令

Git安装成功之后,在命令行输入Git,会有如下的列表:

可以看到,这里已经列出来了所有关于Git的命令。当然这里面所有的命令都是 git 开头的。

在这里我提前说下,我强烈建议每一个开发者都有一个叫做dev的文件夹。这个文件夹里面放着我们所有的开发代码,包括其他关于技术的文件。这样做的好处有很多,比如说某天我们需要计算下这辈子写了多少行代码,我们只需要通过一些代码行计算工具针对这个dev文件夹做一次查找就好了。

接下来,我通过操作来讲解几个常用的命令:

第一步,我们创建一个文件夹HelloGit。

创建好对应的仓库文件夹,并进入这个文件夹之后,我们来试下Git操作。比如Git status(查看当前仓库的状态)

会看到提示,当前目录还不是一个Git仓库。

那么这时候我们就得初始化这个仓库了。

git init

这个命令就代表初始化git仓库。


这时候就会看到成功的初始化了一个空的Git仓库。

git status

接下来,我们继续用git status来查看下当前仓库的状态。

就会看到标红的文件,这个意思就是这个文件还没有被add到当前的仓库栈中。

所以接下来我们通过git add 来添加这个文件。

git add

这时候,再通过git status 来查看,会发现这个文件已经成功被添加。

同时,我们还可以通过 git rm --cached 来移除这次添加,移除之后就又会回到上一步未添加的状态。

接下来我们通过 git commit 来做提交,当然这里只是提交到本地。

git commit

将当前add到仓库栈的所有文件进行一次本地提交。

记住,这里是本地提交,并非提交到远端。这个命令也是很多开发者容易误解的。

因此,我们通过 git commit -m '第一次提交' 。 -m 后面紧跟这次提交的内容描述。

git log

这个命令就很简单了,是查看当前本地仓库的提交记录(日志)


这里可以看到几条重要的信息。

这里我多扯一句,一定要保证自己每次add - > commit 操作的文件粒度要足够小。足够小的意思就是,比如有5个文件没有add,但是这个5个文件包含了两个功能,功能1是增加了登录功能,功能2是修改了验证码的Bug。那么你就得把这5个文件分成两次进行提交,add -> commit 。并且 commit 的-m后紧跟着对应的功能描述。

这样做的好处就是,某天你发现登录模块有问题,那么你可以直接去看关于登录功能的那次提交,而且这次提交的登录功能没有其他代码的干扰。

git branch

branch其实就是分支的意思。分支在git中起了举足轻重的作用。

有点git基础的都知道有个master分支。而且这个分支,必须保存的是我们稳定的代码。那么我们去哪里开发呢?

我们可以git branch 一个 dev分支。团队可以在这个分支进行工作,等代码稳定之后我们再将dev合并到master支。

其次,分支提供了我们并行开发的良好环境。

比如整个团队只有一两个人开发登录模块,但是又不能影响其他人,同时自己还要做代码的版本管理。那么我们就可以通过git branch 一个 login 的分支。这样,我们可以在这个分支做登录的开发,等代码稳定之后,再将代码合并到dev分支。

git checkout login

创建好分支之后,我们通过git checkout 到对应的分支。当然我这里是直接基于master来切出来的一个分支。意思就是,我login的代码是从master复制过来的。在实际开发中,你可能需要从dev来切出来。以减少后期合并的工作量。

git merge

上面说了很多合并的东西。那么实际是怎么操作的呢?

比如我们在login分支开发稳定了登录模块,我们现在想把代码合并dev。那么我们就可以先git checkout dev,这样,我们的仓库环境就会切到dev分支,然后 git merge login。 就可以把login分支的代码合并过来。

同理,将dev合并到master分支,也是首先切换到master分支,然后再merge dev。

当然,在你做合并的时候,会出现很多代码冲突。这时候,就需要你来解决。如果出现,不明白的代码冲突,那么一定要去问提交这块代码的人,如何解决这个冲突。切勿,自己乱删,这样会导致删除别人有用的代码。

git branch -D

这个命令就很简单,是直接删除某个分支。当然你得先checkout到其他分支。因为你不能在login分支,然后执行git branch -D login。 这样是没办法删除掉login的。

git tag

这个命令一定要养成习惯。当我们每一次提交测试之后,我们都需要对当前代码打一次tag。这样在后期bug排查的时候,可以很容易找到出现问题的代码。

当然,命令就很简单了。git tag 加上对应的版本号。同时切换到对应tag的代码也很简单。 直接 git checkout + 版本号,就可以了。

总结

以上全是一些最基础的Git知识和操作。

同时也都是本地的版本管理,并没有涉及到远端仓库,也就是最重要的一个命令 git push。

所以,下一篇,我将讲解git push的操作和Github上其他的高阶玩法,包括其他一些我常用的高阶命令。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Git是一个分布式版本控制系统,用于跟踪文件的变化并协调多人在同一个项目上的工作。\[1\]Github是一个基于Git的代码托管平台,可以用来存储、管理和分享代码。\[1\] 在使用GitGithub之前,首先需要安装GitGit可以在多个操作系统上安装,包括Windows、Mac和Linux。你可以从Git官方网站下载适合你操作系统的安装程序,并按照安装向导进行安装。\[2\] 配置Github需要进行以下步骤: 1. 创建一个Github账号,如果已经有账号可以直接登录。 2. 在Github上创建一个新的仓库,用于存储你的代码。 3. 在本地的Git仓库中,将远程仓库克隆到你的电脑上,这样你就可以在本地进行代码的修改和提交了。\[1\] Git的标准工作流程是工作区→暂存区→Git仓库,但有时候可以跳过暂存区,直接将工作区中的修改提交到Git仓库。这可以通过在提交时使用git commit命令加上-a选项来实现。这样Git会自动将所有已经跟踪过的文件暂存起来一并提交,从而跳过git add步骤。\[3\] 希望这些信息能帮助你更好地理解GitGithub的基本概念和使用方法。如果你想深入学习GitGithub,我建议你参考廖雪峰老师的官方网站中的文章,那里有更详细和深入的内容。\[2\] #### 引用[.reference_title] - *1* *2* [手把手教你如何使用gitgithub](https://blog.csdn.net/m0_66614389/article/details/126617370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [GitGithub的使用](https://blog.csdn.net/DS153/article/details/123555356)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值