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

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

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

https://pdai.tech/md/devops/tool/tool-git.html
https://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
目录
相关文章
|
6月前
|
网络安全 开发工具 vr&ar
Git 详解(二)
Git 详解(二)
91 0
|
开发工具 git
最好的 Git 动画教程,没有之一
介绍 Git 动画教程的学习方法。
最好的 Git 动画教程,没有之一
|
6月前
|
存储 开发工具 git
详解git的使用
详解git的使用
|
6月前
|
安全 Linux 开发工具
为什么需要 git 和 相关的小知识
为什么需要 git 和 相关的小知识
78 0
|
存储 Linux 开发工具
git相关总结大全
git相关总结大全
|
开发工具 git
git:.gitkeep
git:.gitkeep
209 0
|
开发工具 git 开发者
深入Git-变基
前言 在Git中整合不同分支的修改主要有两种方法:merge和rebase。其中merge在一般的团队中使用的比较多,而rebase则使用的比较少。本篇文章将主要介绍变基(rebase)的概念以及探讨我们应该在什么时候使用它。
|
安全 程序员 开发工具
|
开发工具 git
Git 这些小技巧你知道吗?
Git 这些小技巧你知道吗?
122 0
Git 这些小技巧你知道吗?
|
开发工具 git
Why Git?
Why Git?
99 0