当前位置: 首页 > news >正文

Git 小白入门到进阶—(基本概念和常用命令)

一.了解 Git 基本概念和常用命令的作用 (理论)

基本概念

1、工作区
包含.git文件夹的目录,主要用存放开发的代码
2、仓库
分为本地仓库和远程仓库,本地仓库是自己电脑上的git仓库(.git文件夹);远程仓库是在远程服务器上的git仓库git文件夹无需我们进行操作,只需要执行相关命令即可。
3、暂存区(索引)
git文件夹中有很多文件,其中有一个index文件就是暂存区
4、已修改(modifed):修改了文件,但还没将修改的结果放到暂存区
5、已暂存(staged):对已修改文件的当前版本做了标记暂时保存,会包含在下次提交的列表中3、6、已提交(committed):文件已经安全地保存在本地的git仓库中
7、分支和标签
①、分支
git 有一个主分支- master 分支(包含了最稳定的版本),通常来说,一个分支用于一个新功能的开发,一旦新功能开发完成,就将这个分支合并到 master 上,然后删除这个分支。每个分支都可由 HEAD 指示,HEAD是一个指针,它永远指向分支中的最新提交内容。
②、标签
标签和分支很相似,不同的地方在于标签是不变动的。标签是一种没人去修改的分支。一旦为某个特定提交操作创造了一个标签,即使有新的提交操作,它也不会更新,开发者会给产品的发行版本创建标签(也是我们常说的打tag)。

Git 和 GitHub 的区别和关系如下:

1、Git 是工具,而 GitHub 是平台。
2、我们可以用 Git 之外的版本控制系统(比如 SVN)来向 GitHub 提交代码;同样可以用 Git 将代码提交到 GitHub之外的其他代码托管平台(比如企业级代码托管平台 GitLab)上。SVN 和 Git 是同类的工具,两者的用法很相似。但目前 Git 相对更主流一些,因此只学习 Git 足够了。 

工作流程

1、从远程仓库中克隆代码到本地仓库
2、本地仓库中分支进行代码修改
3、在提交前先将代码提交到暂存区
4、提交到本地仓库本
5、修改完成后,将代码push到远程仓库(之后的每次养成先pull再push的习惯)

二.能够使用 Git 命令来管理和提交项目代码 (实践)

1、创建远程仓库
在 GitHub 上创建一个新的远程仓库,获取仓库的 URL 地址
2、从本地仓库提交代码到远程仓库
①、在当前工作目录中初始化新仓库

git init

添加文件到本地暂存区中

git add

提交暂存区到本地仓库

git commit-m "提交说明"

连接远程仓库

git remote add origin 仓库地

提交之前先 pull

git pull origin 远程分支名:本地分支名

如果远程分支是与当前分支合并,则冒号后面的部分可以省略  git pull origin 分支名
提交到远程仓库

git push origin 本地分支名:远程分支名

如果本地分支名与远程分支名相同,则可以省略冒号 git push origin 分支名
强制推送可以使用 --force 参数

git push--force origin 分支名

3、从现有仓库克隆

git clone url
Git支持多种协议,默认的git://使用ssh,但也可使用https等其他协议。url地址可以为https:/lgithub/xx/xx/xx.git

添加当前目录的所有文件到暂存区

git add .

注意 . 前有空格

提交暂存区到本地仓库

git commit-m "提交说明"

提交之前先 pull

git pull origin 远程分支名:本地分支名

提交到远程仓库

git push origin 本地分支名:远程分支名

显示当前的Git配置

git config --list

编辑Git配置文件

git config-e[--global]

设置提交代码时的用户信息

git config--global user.name“用户名
git config--global user.email“郎箱地址

查看当前分支

git branch

查看仓库当前的状态,显示变更文件信息

git status

查看历史提交记录  git log

显示当前分支的最近几次提交 git reflog

下载远程仓库的所有变动

git fetch

下载特定远程仓库的所有变动

git fetch[远端仓库名]

下载远程仓库对应分支的变动

git fetch[远端仓库名][远端分支名称]

下载远程仓库对应分支的变动到本地分支

git fetch[远端仓库名][远端分支名称]:[本地分支名称]

http://www.lryc.cn/news/355992.html

相关文章:

  • 大数据框架总结(全)
  • 44、Flink 的 Interval Join 详解
  • H6246 60V降压3.3V稳压芯片 60V降压5V稳压芯片IC 60V降压12V稳压芯片
  • 【MySQL精通之路】查询优化器的使用(8)
  • Docker in Docker(DinD)原理与实践
  • 科技前沿:IDEA插件Translation v3.6 带来革命性更新,翻译和发音更智能!
  • 【并发小知识】
  • python将多个音频文件与一张图片合成视频
  • JavaEE:Servlet创建和使用及生命周期介绍
  • 【Python设计模式15】适配器模式
  • 【Python设计模式05】装饰模式
  • kafka 消费模式基础架构
  • nginx安装部署问题
  • 揭开Java序列化的神秘面纱(上)Serializable使用详解
  • 深度学习——自己的训练集——图像分类(CNN)
  • goimghdr,一个有趣的 Python 库!
  • 每小时电量的计算sql
  • 自动化您的任务——crewAI 初学者教程
  • K8s集群中的Pod调度约束亲和性与反亲和性
  • kafka之consumer参数auto.offset.reset
  • 回答篇二:测试开发高频面试题目
  • React18 apexcharts数据可视化之甜甜圈图
  • 如何通过OpenHarmony的音频模块实现录音变速功能?
  • 探索 Rust 语言的精髓:深入 Rust 标准库
  • Log360:护航安全,远离暗网风险
  • react使用antd警告:Warning: findDOMNode is deprecated in StrictMode.
  • Docker Swarm - 删除 worker 节点
  • AI视频智能分析技术赋能营业厅:智慧化管理与效率新突破
  • 骨折分类数据集1129张10类别
  • Follow Your Pose: Pose-Guided Text-to-Video Generation using Pose-Free Videos