git基础概念,基础命令和push到远程仓库全流程

要学会git,首先要对git的四个工作区,以及他们的作用和文件在4个工作区内的转换有个简单的了解

拓展阅读:关于git的命令,如果想要理解得更加详细深刻可以看git官方文档 https://git-scm.com/

git的工作区

在这里插入图片描述

参考:https://www.bilibili.com/video/BV1FE411P7B3?p=7&share_source=copy_web

git有三个区,分别是

工作区(working directory)

这个就是我们写的代码,我们打开的程序,我们硬盘上/服务器上的程序,能看到的文本,就是这个区

暂存区(stage/index)

暂时存放数据,给你吃后悔药的机会,做一个缓冲,将文件从工作区到暂存区使用git add命令

拓展阅读:关于暂存区必要性的理解:https://blog.csdn.net/qq_32452623/article/details/78417609

版本库(cmooit history/repository)

本地的仓库,提交(commit)的代码

远程仓库(remote/origin)

就是我们在GitHub或者是码云上面创建的云端仓库

比较三个区域中的文件不同
git diff工作区 vs 暂存区
git diff head工作区 vs 版本库
git diff --cached暂存区 vs 版本库

git的基本应用:从创建本地git仓库到成功push到github上

通过在本地创建一个git仓库,写入更改代码,到push到github上演示一个简单的、不需要处理冲突的git操作流程,来熟悉基本的 git命令

将介绍:

  • git add
  • git commit
  • git push
  • git pull
  • git branch
重要的基础命令
commit前必做,git status

git status

git status […] [–] […]

  • 可以列出当前目录所有还没有被git管理的文件
  • 被git管理(git add)且被修改但还未提交

所以在git commit之前,先git status是个好习惯!

但是status会对工作区内的所有文件进行检查,如果有很多编译后的文件就会产生很多不必要的信息,可以将不想管理的文件添加到.gitignore中去,*可以作为通配符,代表所有

*.pyc
*.tmp

参考:https://www.yiibai.com/git/git_status.html

显示提交记录 git log

git log

用来显示 提交记录

显示可引用的记录 git reflog,恢复错误的回退,好用的后悔药

git reflog

命令是用来恢复本地错误操作很重要的一个命令,他可以显示可引用的历史版本记录

与git log的不同之处

git log只会显示HEAD以及他的父节点,但是如果版本发生过回退现象,那么git log就无法显示回退的那些节点,而git reflog可以

参考:https://www.jianshu.com/p/7e4cef3863e7

reflog非常有用的地方就是可以回退错误的回退!

比如说进行了git reset或者是git checkout将版本进行了回退,这时候又后悔了,不想回退了,虽然git log里找不到记录,但是git reflog里可以找到你的回退操作和回退之前的版本号,只要git checkout 版本号即可吃下这颗后悔药

git diff

比较不同commit之间的不同

git diff commit1 commit2

会显示后者-前者的差异

基本流程
初始化本地仓库

首先本地中创建一个文件夹,比如learn_git

然后进入文件夹中,对git进行初始化

git init 这样就将learn_git这个文件夹以及他的所有子文件夹初始化为一个本地git仓库

为了方便演示,我们创建一个test.py文件,并且在文件中输入语句

print('init git repo')

add 加入暂存区

这时虽然我们在工作区中加入了文件,但是没有将文件加入暂存区,这个时候做出的改动git是不记录的

git add test.py

这个时候通过git diff命令就可以查看到暂存区与版本库的不同

在这里插入图片描述

在将文件加入暂存区后,我们可以放心的对文件进行修改

比如加入

print('first commit')
提交 git commit 将暂存区的文件提交到版本库

文件修改完毕,我们需要将这个改动保存为一个版本,那么记得先

git status

在这里插入图片描述

这个提示的意思是,与上一次提交到暂存区的文件相比,工作区的文件有了新的改动,如果不想保留这个改动,就git restore想要保留这个改动,增加到暂存区,就要git add 如果什么操作都不做,直接git commit的话,只会提交只有print('init git repo')的那个文件进入版本库,这里我们想要提交最新版本的代码到版本库,所以

git add test.py

然后git commit

commit的后悔药 git commit --amend

如果提交了后有想追加的文件,或者是想修改commit的说明信息,就用这个命令

添加远程仓库

先在github上创建一个仓库,复制仓库的HTTP地址,然后回到本地

origin_learn_git是给这个远程仓库取的别名,随便取

git remote add origin_learn_git https://github.com/DejaVuyan/learn_git.git

push到远程仓库

git push -u origin_learn_git main 将当前所在的分支推送到远端的main分支,

然后遇到报错

在这里插入图片描述

这个错误的但是本地没有找到叫做main的分支,本地是master但是github觉得这个名字有歧视意味,所以改成main

git branch -M main将当前分支改成main

然后再继续push就没有问题了

系统会显示要输入用户名和密码

注意这里的密码要用token代替,而不是github密码

生成方法见:https://blog.csdn.net/weixin_41010198/article/details/119698015

查看远程仓库地址

git remote -v

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值