Git常用命令介绍

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

一、Git的安装 

安装包下载地址:https://gitforwindows.org/

国内的镜像地址:https://npm.taobao.org/mirrors/git-for-windows/

完成安装之后,在开始菜单里找到"Git"->"Git Bash Here",会弹出 Git 命令窗口,可以在该窗口进行 Git 操作。

二、Git的基本工作流程

  • 在工作目录中添加、修改文件;
  • 将需要进行版本管理的文件放入暂存区域;
  • 将暂存区域的文件提交到git仓库并推送到远程仓库。
  • 克隆远程仓库资源作为工作目录;
  • 在克隆的资源上添加或修改文件;
  • 提交修改;
  • 在修改完成后,如果发现错误,可以撤回提交并再次修改并提交;
  • 如果其他人修改了,你可以更新资源;

三、Git基本操作:

本地仓库的组成(三个部分):工作目录、暂存区(Index)、HEAD(指向最后一次提交的结果)

 

本地创建新仓库:$ git init

把更改添加到暂存区:$ git add <filename>

把当前目录所有文件添加到暂存区**:$ git add .**

比较工作区与暂存区的文件:$ git diff

比较暂存区与本地仓库的差别**:$ git diff --cached**

比较工作区与本地仓库的差别**:$ git diff HEAD**

把更改提交到HEAD: $ git commit -m "代码提交说明"

添加远程仓库:$ git remote add origin https://gitee.com/smilepassed/jcmall_teach.git

查看关联的远程仓库:$ git remote -v

把关联的远程仓库删除:$ git remote rm origin

把代码提交到远程仓库(第一次提交):$ git push -u origin master

更新你的本地仓库至最新改动: $ git pull

提交本地仓库最新改动到远程仓库: $ git push

克隆服务器上的仓库:$ git clone <url>

放弃指定文件的缓存:$ git reset HEAD <filename>

重置暂存区与工作区,与上一次commit保持一致:$ git reset --hard

重置暂存区的指定文件,与上一次commit保持一致,但工作区不变:$ git reset [file]

恢复暂存区的指定文件到工作区:$ git checkout -- filename

恢复暂存区的所有文件到工作区:$ git checkout .

恢复到上一次的commit:$  git reset --hard HEAD^

查看提交记录:$ git log

恢复到指定的commit: $ git reset --hard  commitid

四、Git 撤消放弃本地修改

1、未使用 git add 添加到暂存区时

可以使用 git checkout -- filename (比如: git checkout -- readme.md  )。

放弃所有的文件修改可以使用 git checkout .  命令。

此命令用来放弃掉所有还没有加入到缓存区(就是 git add 命令)的修改:内容修改与整个文件删除。但是此命令不会删除掉刚新建的文件。因为刚新建的文件还没已有加入到 git 的管理系统中。所以对于git是未知的。自己手动删除就好了。

 

2、已经使用了 git add 缓存了代码。

可以使用  git reset HEAD filename (比如:git reset HEAD readme.md)来放弃指定文件的缓存。

放弃所有的缓存可以使用 git reset HEAD . 命令;

此命令用来清除 git  对于文件修改的缓存。在使用本命令后,本地的修改并不会消失。

3、已经用 git commit  提交了代码。

可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。

此命令可以用来回退到任意版本:git reset --hard  commitid

可以使用 git log 命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第一行就是 commitid

 

五、分支

分支是用来将特性开发绝缘开来的。在创建仓库的时候,master 是“默认的”分支。在其他分支上进行开发,完成后再将它们合并到主分支上。

使用分支意味着你可以从开发主线上分离开来,然后在不影响主线的同时继续工作。

创建分支:$ git branch <branchname>

创建分支并切换到该分支:$ git checkout -b <branchname>

列出会支:$ git branch

切换分支:$ git checkout <branchname>

把分支提交到远程:$ git push --set-upstream origin <branchname>

合并分支:$ git merge <branchname>

删除分支:$ git branch -d <branchname>

六、在IDE工具Pycharm中操作git

克隆gitLab上的项目到本地

1、在gitLab项目页面,点击【克隆】,复制HTTP克隆

 

2、进入Pycharm中点击【Git】进行clone操作

 

 

注:第一个克隆时需要输入gitLab的用户名与密码

3、进行git add 操作

 4、进行commit操作提交

 

 

 

5、点击【Push】完成推送 

6、从远程仓库拉取最新代码到本地(git pull )

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/434763.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fastapi学习

fastapi框架 fastapi&#xff0c;一个用于构建 API 的现代、快速&#xff08;高性能&#xff09;的web框架。 fastapi是建立在Starlette和Pydantic基础上的&#xff0c;Pydantic是一个基于Python类型提示来定义数据验证、序列化和文档的库。Starlette是一种轻量级的ASGI框架/工…

C#,数据检索算法之跳跃搜索(Jump Search)的源代码

数据检索算法是指从数据集合&#xff08;数组、表、哈希表等&#xff09;中检索指定的数据项。 数据检索算法是所有算法的基础算法之一。 本文提供跳跃搜索的源代码。 1 文本格式 using System; namespace Legalsoft.Truffer.Algorithm { public static class ArraySe…

3d导入的模型怎么缩小内存---模大狮模型网

要缩小导入的3D模型的内存占用&#xff0c;可以尝试以下方法&#xff1a; 优化模型&#xff1a;检查模型是否存在多余的面、顶点或边。通过删除重复的几何体、简化细节或使用优化算法&#xff0c;可以减少模型的复杂度&#xff0c;从而降低内存占用。 减少纹理贴图大小&#x…

无线路由探索

实验大纲 第一部分&#xff1a; 探索无线网络 步骤 1&#xff1a; 探索拓扑 步骤 2&#xff1a; 验证连接 第二部分&#xff1a; Wi-Fi 连接添加到董事会议室 步骤 1&#xff1a; 安装新的 LAP-PT 设备以覆盖新的董事会议室 步骤 2&#xff1a; 检验连接 第三部分&#…

redis过期事件监听、可以做延时任务 第二篇(简单)

在使用redis时&#xff0c;所有的key都要设置过期时间&#xff0c;过期之后&#xff0c;redis就会把对应的key清除掉。 此方法可以监听redis的key失效&#xff0c;在失效时做一些逻辑处理 redis过期监听 不像mq有保证 不推荐用来弄需要有保证的业务 现象&#xff1a; redis …

xshell无法连接linux,查询本机ip时出现<NO-CARRIER,BROADCAST,MULTICAST,UP>

在用xshell连接虚拟机VMware中的linux时&#xff0c;发现昨天还能连通的&#xff0c;今天连接不了了 我寻思应该是网卡配置出问题了&#xff0c;就去终端ip addr试了一下&#xff0c;果然发现问题&#xff0c;ip 查看网卡ens33就发现出现ens33:<NO-CARRIER,BROADCAST,MULTI…

深度强化学习(王树森)笔记01

深度强化学习&#xff08;DRL&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接&#xff1a;https://github.com/wangshusen/DRL 源代码链接&#xff1a;https://github.c…

【论文+App试玩+图像到视频】2311.Animate-anyone:上传1张图片为任何人制作动画(用于角色动画的一致且可控的图像到视频合成)(暂未开源)

项目主页&#xff1a;https://humanaigc.github.io/animate-anyone/ 论文: Animate Anyone: Consistent and Controllable Image-to-Video Synthesis for Character Animation 摩尔线程复现代码&#xff1a;https://github.com/MooreThreads/Moore-AnimateAnyone 摩尔windows一…

S275智慧煤矿4G物联网网关:矿山开采的未来已来

随着经济发展煤矿需求不断激增&#xff0c;矿山矿井普遍处于偏远山区&#xff0c;生产管理、人员安全、生产效率是每个矿山矿井都需要考虑的问题&#xff0c;利用网关对现场终端设备连接组网&#xff0c;实现智慧煤矿远程管理。 各矿山矿井分布范围比较广泛&#xff0c;户外环…

体验 AutoGen Studio - 微软推出的友好多智能体协作框架

体验 AutoGen Studio - 微软推出的友好多智能体协作框架 - 知乎 最近分别体验了CrewAI、MetaGPT v0.6、Autogen Studio&#xff0c;了解了AI Agent 相关的知识。 它们的区别 可能有人要问&#xff1a;AutoGen我知道&#xff0c;那Autogen Studio是什么&#xff1f; https://g…

Linux-ROS学习之旅-话题编程(二)

##承接上一篇文章的知识&#xff0c;有下面的实例操作 通过代码新生一个海龟&#xff0c;放置在(5,5)点&#xff0c;命名为turtle2&#xff0c;通过代码订阅turtle2的实时位置并打印在终端&#xff0c;控制turtle2实现旋转运动 步骤&#xff1a; 1.创建一个工作空间和一个功…

JDK8新特性:Stream

Stream 认识Stream 也叫Stream流&#xff0c;是jdk8开始新增的一套API&#xff08;java.util.stream.*&#xff09;&#xff0c;可以用于操作集合或者数组的数据。优势&#xff1a;Stream流大量的结合了Lambda的语法风格来编程&#xff0c;提供了一种更强大&#xff0c;更加简…