首页 > 其他分享 >git 的基本使用

git 的基本使用

时间:2023-04-20 17:55:59浏览次数:34  
标签:基本 文件 git 删除 文件名 -- 使用 分支

  • 学习系列,git基本命令记录,开始之前,看下git的工作原理图:
  • 基础命令
    git init  # 创建本地仓库
    git status #查看信息
    git add 文件名(*)  #将代码提交至暂存区
    git commit -m '备注信息' #将代码提交到本地仓库
    git diff 文件名 #对比文件信息
    git log (--pretty=oneline) #查看git日志
    git log --graph --pretty=oneline --abbrev-commit #查看详细日志

    git reset --hard HEAD^ #回退到上一个版本
    git reflog #查看版本号
    git reset --hard 版本号 #回退到指定版本号

    git checkout -- 文件名 #将文件在工作区所做的操作撤销
    git rm 文件名 #将文件删除 相当于git add -A 把所有发送变化的文件提交到暂存区;git commit两步操作
    rm -rf 文件名 #强制删除(手工删除) 撤销直接使用git checkout -- 文件名
    git mv 旧文件名  新文件名  linux/mac 使用git mv  win使用git ren

    git commit --amend -m "增加信息"    # 修改最后一次提交内容
    git branch #查看当前分支情况
    git branch 分支名 #新建一个分支
    git checkout 分支名 #切换到指定分支操作 (指针切换)
    git checkout -b 新增分支名  # 新增分支并切换到新分支上
    git merge 分支名 #将分支内容合并到主分支
    git branch -d 分支名 #删除指定分支

    git tag  # 查看标签
    git tag v1.2  #设置标签
    git show   #  显示标签。
    git tag -a 标签名 -m “标签注释信息”  # 添加标签并带有注释信息
    git tag -a 标签名 -m “标签注释信息”  版本号  # 添加
    git cheakout 标签名 :切换到指定标签,此时不位于任何分支,处于游离状态,可以考虑在此标签创建一个分支,脱离游离状态可以checkout 分支名即可
    git tag -d #删除标签名
    git clean -n #查看没有被跟踪文件
    git clean -f #删除没有被跟踪的文件

    git remote add origin https://github.com/demo.git  # 添加远程仓库,名称为origin(默认)
    git push -u origin master  # 把master分支推送到origin仓库(原仓库)
    git clone 远程仓库git地址 # 克隆远程仓库到本地
    fork /拷贝对方的仓库到自己仓库,修改/增加完成后提交到自己的仓库,推送给对方的仓库使用pull request 进行推送,对方同一后可合并到对方仓库


  • 恢复删除在暂存区的文件
    1.git reset HEAD 文件名 #恢复暂存区
    2.git checkout -- 文件名 #恢复工作区
    3.git rm -r --cached 文件名  删除新增到暂存区的文件,再手工删除文件rm -rf +文件名

  • 当主分支与其他分支更新冲突时
    可以手动解决 将不需要的部分删除或者全部保留,解决后 执行 git add 再执行 git commit -m ""
    解决删除分支后还存在历史信息 git merge --no-ff -m '注释' 分支名

  • 多人协作产生冲突
    方式一:
    1、使用gitpull命令把最新的提交拉取下来
    2、如果拉取失败一般原因是没有指定本地子分支与远程origin/子分支的链接:可使用该命令gitbranch--set-upstream-to=origin/远程子分支本地子分支
    3、此时pull虽然成功,但是合并有冲突,需要手动解决,解决的方法和分支管理中的解决冲突完全一样
    4、解决完成之后,使用git push提交
    方式二:
    使用命令gitpush-f 强制提交,该方式会导致远程仓库之前的修改被覆盖,同时提交日志也会被覆盖。

  • 常用的操作
    git blame filename #查看谁更改了file中的内容、修改时间
    设定git不跟踪文件:在工作目前创建一个名为.gitignore的文件,用于过滤数据,便于非需要管理的文件进行过滤,文件内容如下:
    /new/ #过滤整个文件夹
    *.txt #过滤所有.zip文件
    /new/test.c #过滤某个具体文件
    .DS_Store #Mac用来存储文件夹信息的文件
    npm-debug.log * #npm报错信息文件
    git clean:从工作目录中删除没有被git跟踪过的文件,它包含如下参数:
    -n提示哪些文件会被删除
    -f删除当前目录下所有没有跟踪过的文件.它不会删除
    .gitignore文件里面指定的文件夹和文件
    -f删除指定目录下所有没有跟踪过的文件
    -df删除当前目录下所有没有跟踪过的文件和文件夹
    -xf删除当前目录下所有没有跟踪过的文件,包含.gitignore文件中设置的文件

标签:基本,文件,git,删除,文件名,--,使用,分支
From: https://www.cnblogs.com/ygod323/p/17337725.html

相关文章

  • CentOS7使用systemctl添加自定义服务
    一、简介Centos7开机第一个程序从init完全换成了systemd这种启动方式,同centos56已经是实质差别。systemd是靠管理unit的方式来控制开机服务,开机级别等功能。在/usr/lib/systemd/system目录下包含了各种unit文件,有service后缀的服务unit,有target后缀的开机级别unit等,这里介绍关......
  • LeetCode-Go:一个使用 Go 语言题解 LeetCode 的开源项目
    在中国的IT环境里,大多数场景下,学习算法的目的在于通过笔试算法题。但算法书林林总总,有时候乱花渐欲迷人眼。杜甫有诗云:读书破万卷,下笔如有神。不管选择哪本书,只要深入学习,分层次,逐层进阶,一定可以将算法攻克。笔者强烈推荐一个Github开源项目LeetCode-Go,你不仅可以把他当做......
  • docker-compose 安装使用教程
    1、下载二进制文件:curl-Lhttps://github.com/docker/compose/releases/download/v2.17.1/docker-compose-linux-x86_64  -o/usr/local/bin/docker-compose2、授权执行权限:    chmod+x/usr/local/bin/docker-compose3、查看版本:  docker-compose--version......
  • pytorch训练可视化包visdom的使用
    visdom的使用一、简介二、安装与启动三、设计思路四、在迭代训练中的绘图五、一般绘图六、基本调整与保存文件1、`调整大小、拖拽`:长按拖动即可,右下角落长按移动即可放大缩小2、`查看图片对应的数据`:点击右下角`Edit`,会跳转到新网页,可以灵活进行数据调整3、`图内控件调整`:比如,放大......
  • Python操作Neo4j数据库使用案例
    Python操作Neo4j数据库使用案例一、数据结构二、上传数据三、清空数据库项目数据和代码  Neo4j是一个世界领先的开源的基于图的数据库。其语言操作简单直观,本文假设你已经安装好Neo4j数据库,并对知识图谱有一定的了解。Neo4j数据库的查询语言为CQL,其代表Cypher查询语言。像Orac......
  • 修改typora代码块颜色,稍微美化Github主题
    typora的GitHub主题是默认主题,也是最符合我的审美的主题。但是仍然有几个小地方不能让我满意:一级标题和二级标题不够明显代码块是白色背景,不好看于是基于官网给的部分代码做了,做了一点小的修改,最终效果如下操作过程如下:1.打开Theme文件夹2.修改为深色代码框在github......
  • git 基本操作
    gitconfig配置全局配置name和邮箱gitconfig--globaluser.name"xxx"gitconfig--globaluser.email"xxx"初始化一个项目1、初始化本地项目gitinit2、基于远程分支克隆gitclone远程仓库地址暂存区操作添加到暂存区gitaddfile...gitadd.暂存所有......
  • AutoGPT安装及使用
    AutoGPT简介AutoGPT是一个实验性开源应用程序,展示了GPT-4语言模型的功能。该程序由GPT-4驱动,将LLM“思想”链接在一起,以自主实现您设定的任何目标。作为GPT-4完全自主运行的首批例子之一,AutoGPT突破了人工智能的极限。注:AutoGPT也可以使用GPT-3.5运行。Auto-GPT英文官方网站......
  • Go中使用JWT
    原文链接:https://blog.csdn.net/m0_58121644/article/details/129643351JWT(JSONWebTokens)是一种基于JSON格式的轻量级身份验证和授权方案。在Go项目中使用JWT,一般需要完成以下步骤:1.安装JWT库在Go项目中使用JWT需要先安装JWT库,可以使用以下命令安装:gog......
  • node.js使用Nodemailer发送邮件
    引言--常常看到一些网站有邮箱获取验证码验证注册或者修改密码等,今天也来了解一下在nodejs+express怎么发送电子邮件。使用模块Nodemailer。这里以qq邮箱举例子。安装模块--npminstallNodemailer--save创建一个SMTP客户端配置--//引入模块nodemailerconstnodemai......