一文学懂Git,原来Git这么强大!

大家好,我是南城余!今天给大家分享下Git的再学习,本次学习弥补了之前不太懂Git原理以及其他Git命令了解,给大家贴上了我学习的网站链接,以供我写的不清楚的时候,大家可以翻阅。

参考网站链接:

https://pdai.tech/md/devops/tool/tool-git.htmlhttps://www.runoob.com/git/git-tutorial.html(菜鸟教程)https://zhuanlan.zhihu.com/p/193140870(知乎)

本次推文系统学习了代码提交和同步代码,代码撤销和撤销同步的架构图(可认为工作原理),其余有关git常用命令可以看上面两个链接,推荐菜鸟。

本地和远程仓库建立链接,可以看上方知乎链接

前言

什么是git?为什么要学习?

图片

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

作为一个程序员,git是必备的,因为你需要将你的代码托管到代码仓库,可以很好的管理你的代码版本,遇到bug回退代码版本,虽然现在的编译器也支持代码历史记录,但依然抵触不了,代码仓库是个好东西。

主流代码仓库有

图片

并且作为程序员,我们要有开源精神,帮助互联网时代共建美好未来

可以看下面csdn文章链接开源精神

https://blog.csdn.net/phena/article/details/109635639

不管是什么开发工具,其实都有可视化操作工具

例如数据库有navicat,redis有Another Redis Desktop Manager,所以git也不例外。

如果你实在不想敲命令,可以下载git可视化管理工具

参考链接:

https://www.runoob.com/git/source-tree-intro.html

正文

代码提交和同步代码

架构图

图片

Git操作代码提交和同步代码-常用操作命令

第0步:工作区与仓库保持一致

git status

第1步:文件增删改,变为已修改状态

第2步:git add ,变为已暂存状态

git add --all #当前项目下的所以更改 
git add . #当前目录下的所有更改
git add xx/xx.py xx/xx2.py #添加其中几个文件

第3步:git commit,变为已提交状态

git commit -m "这里写此次提交的描述"

第4步:git push,变为已推送状态

git push -u origin master #第一次需要关联分支
git push #之后推送就不用指明应该提交的远程分支了
git branch #可以查看本地仓库分支
git branch -a #可以查看本地仓库和远程仓库的所有分支

实操演示

实操参考链接(知乎):

https://zhuanlan.zhihu.com/p/193140870

来源TechmindWave项目

链接:

https://mp.weixin.qq.com/s/FlzCd4PqOReqxszU6Nfw_g
1)在GitHub上创建仓库
 

图片



 

图片

创建成功后,你可能用到的命令


2)建立本地仓库
 

图片

进入git命令台


 

图片

输入git init,初始化项目

3) 将所有文件添加到仓库中
git add .
4)修改文件描述
git commit-m "first commit"
5)关联github仓库
git branch-M main
git remote add origingit@github.com:nanchengcyu/TechMindWave-frontend.git #改为自己的
6)上传本地代码
git push -u origin main

代码撤销和撤销同步

架构图

图片

Git常用操作命令 - 代码撤销和撤销同步

已修改,但未暂存
git diff #列出所有的修改
git diff xx/xx.py #列出指定文件修改
git checkout #撤销项目下的所有修改
git checkout .#撤销当前文件夹下的所有修改
git clean -f # untracked状态,撤销新增的文件
git clean -df # untracked状态,撤销新增的文件和文件夹
已暂存,未提交

这个时候已经执行过git add,但未执行git commit,但是用git diff已经看不到任何修改。因为git diff检查的是工作区与暂存区之间的差异。

$ git diff --cached # 这个命令显示暂存区和本地仓库的差异

$ git reset # 暂存区的修改恢复到工作区
$ git reset --soft # 与git reset等价,回到已修改状态,修改的内容仍然在工作区中
$ git reset --hard # 回到未修改状态,清空暂存区和工作区

git reset --hard 操作等价于 git reset 和 git checkout 2步操作

已提交,未推送

执行完commit之后,会在仓库中生成一个版本号(hash值),标志这次提交。之后任何时候,都可以借助这个hash值回退到这次提交。

$ git diff <branch-name1> <branch-name2> # 比较2个分支之间的差异
$ git diff master origin/master # 查看本地仓库与本地远程仓库的差异

$ git reset --hard origin/master # 回退与本地远程仓库一致
$ git reset --hard HEAD^ # 回退到本地仓库上一个版本
$ git reset --hard <hash code> # 回退到任意版本
$ git reset --soft/git reset # 回退且回到已修改状态,修改仍保留在工作区中。
已推送到远程
$ git push -f orgin master # 强制覆盖远程分支
$ git push -f # 如果之前已经用 -u 关联过,则可省略分支名

慎用,一般情况下,本地分支比远程要新,所以可以直接推送到远程,但有时推送到远程后发现有问题,进行了版本回退,旧版本或者分叉版本推送到远程,需要添加 -f参数,表示强制覆盖。

拉取仓库代码到本地

参考链接:

https://blog.csdn.net/soulerge/article/details/118972737
git clone https链接

Git常用命令

git clone、git push、git add 、git commit、git checkout、git pull

参考代码含义

https://www.runoob.com/git/git-basic-operations.html

Git二次上传多次上传方法

https://blog.csdn.net/weixin_50492082/article/details/108777018

结语 

最后欢迎大家关注我的博客,带给我创作动力。

 

精彩抢先看!

下一篇会更新计算机网络中的http和https知识,欢迎你的观看

下下篇应该会更新网站域名绑定,因为审核了半个月,差不多下个星期就审核通过了

域名访问网站协议为https协议!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南城余coding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值