Git 入门指南:如何高效管理你的代码库
Git 的介绍
Git 是一个分布式版本控制系统,用于跟踪文件的变化并支持团队协作开发。最初由 Linus Torvalds(Linux 操作系统的创始人)开发,Git 在开发者中变得非常流行,尤其是因为其高效、灵活和能够支持分布式开发的特点。
主要特点和概念:
-
- 分布式版本控制
- • 分布式:每个使用
Git的开发者都拥有完整的代码库副本,并且可以在本地进行操作,不需要依赖中央服务器。这使得Git相比于集中式版本控制系统(如SVN)更具有灵活性和抗故障能力。 - • 本地提交:开发者可以在本地进行提交和版本管理,而无需立即与远程仓库同步。可以在网络连接不稳定的情况下继续工作,等到合适的时机再推送更改。
-
- 版本历史和快照
- •
Git会记录每次提交的快照,而不是像其他版本控制系统那样记录差异(差异文件)。每个提交实际上都是代码库状态的完整快照。这样,不仅能恢复历史版本,还能快速了解代码库的变化。 - • 提交(
commit)时,Git会为每次提交生成一个唯一的哈希值(SHA-1),这使得每个提交都可以通过哈希值唯一标识。
-
- 分支与合并(Branching and Merging)
- •
Git的分支管理非常灵活且轻量级。开发者可以在分支上独立工作,然后将分支合并到主分支(通常是main或master)。 - • 分支的创建和切换几乎没有成本,允许开发者同时处理多个功能、修复或者实验性工作,而不干扰主线开发。
- • 合并(
merge)允许将不同分支的更改整合到一起,Git会尽可能智能地自动处理冲突,如果有冲突,开发者需要手动解决。
-
- 工作区、暂存区与版本库
- • 工作区(
Working Directory):是开发者正在进行编码的地方,包含所有的文件和代码。 - • 暂存区(
Staging Area):是一个中间区域,允许开发者选择性地将更改“暂存”起来,准备提交。可以理解为一个待提交的文件集合。 - • 版本库(
Repository):是Git存储代码版本历史的地方。每当你执行提交时,Git会将当前的代码快照保存到版本库中。
-
- 远程仓库(
Remote Repositories)
- •
Git支持远程仓库,允许多人协作开发。开发者可以将本地仓库的更改推送(push)到远程仓库,也可以从远程仓库拉取(pull)最新的更改。 - • 常见的
Git托管平台有GitHub、GitLab、Bitbucket等,它们提供了托管Git仓库的服务,方便团队进行协作。
- 远程仓库(
安装 Git
在 Linux (Ubuntu)系统中,使用以下命令来安装 Git :
sudo apt update
sudo apt install git
使用git --version来查看是否安装成功:

创建仓库
我们以 gitee 做演示如何创建远端仓库,github 也是同样的道理。
- 在你的个人主页找到新建仓库

对你要新建的仓库做各种设置

在你的新建的仓库界面找到 clone 到本地的终端指令



- 在终端上执行
clone指令,然后输入你gitee的账号和账号密码。需要注意的是,你只能将远端仓库 clone 到空目录,一个目录下只能有1个本地仓库。


补充:我们进到到test目录里,使用ls -al指令,如下图:

- 仓库目录其实是工作区,并不是真正的本地仓库,也就是说你在仓库目录写的代码需要手动上传到本地仓库中。
.git这个隐藏目录才是真正的本地仓库
Git 三板斧
add
git add filename
- • 将当前目录下的文件上传到暂存区里。
暂存区存在的意义:当你需要多次提交时候,你就可以将多次提交的文件存放在暂存区,最后一次性上传到本地仓库。
commit
git commit -m "message"
- • 将暂存区的所有文件上传到你的本地仓库里。
- •
-m代表这次修改的相关信息,保存在日志信息里。
使用git status来查看当前相关文件的状态

使用git log来查看日志信息


注意:当你第一次执行该指令时会报错提醒需要配置用户信息,执行以下指令即可。
git config --global user.name "your name"
git config --global user.email "you@example.com"
push
git push
- • 将你本地仓库的代码和文件推送到远端仓库(该过程要输入你
gitee的账号与账号密码)

推送到远端仓库后,我们就可以在gitee上查看了。

冲突问题
如果远端仓库与本地仓库不一致的话,我们是直接commit是会报错的,需要同步两个仓库的信息才可以。

我们只需要将远端仓库拉取到本地就可以完成同步。
git pull
常用 Git 指令
- •
git init:初始化一个新的 Git 仓库。 - •
git clone:从远程仓库克隆一个本地副本。 - •
git status:查看当前工作区的状态(哪些文件被修改了,哪些文件已经暂存等)。 - •
git add:将文件添加到暂存区,为提交做准备。 - •
git commit:提交暂存区的更改,保存到本地仓库。 - •
git push:将本地的更改推送到远程仓库。 - •
git pull:从远程仓库拉取并合并最新的更改。 - •
git merge:将一个分支的更改合并到当前分支。 - •
git branch:列出、创建或删除分支。 - •
git log:查看提交历史。
黑客&网络安全如何学习**
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。

因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
本文转自 https://blog.youkuaiyun.com/yy1715713348/article/details/149346612?spm=1001.2014.3001.5502,如有侵权,请联系删除。

1080

被折叠的 条评论
为什么被折叠?



