平常在windows电脑上使用Git Extensions 工具比较多,大部分的常用指令都可以通过点点点就可以完成。在mac电脑上的话使用sourcetree工具。但有时候也会直接通过git命令,很多时候也是通过百度来临时查阅,所以总结下来方便自己,也方便可能需要的你。

1、基本命令

  • 1.1、 生成SSH公钥和私钥,公钥要复制配置到git服务器上的
    // 生成SSH密钥
    ssh-keygen -o // .pub后缀名为公钥,另外一个为私钥
    cat ~/.ssh/id_rsa.pub
  • 1.2、 git config 配置提交用户名和用户邮箱
    git config --global user.name "aehyok"
    git config --global user.email "aehyok@163.com" // 配置好后可通过这个来查看
    git config -l
  • 1.3、 创建项目后如何提交到仓库
    // 创建项目后到指定的项目文件夹中初始化git
    git init
  • 1.4、 将文件添加到暂存区
    // 将添加或修改的文件提交到暂存区
    git add . // 将监控已经被add进暂存区的文件,会将被修改的文件再次提交到暂存区
    // 或者是
    git add -u // 则是git add .和 git add -u 两个命令的集合
    // 或者是
    git add -A
  • 1.5、 提交到本地仓库(即自己当前电脑的代码仓库)
    // 提交到本地仓库
    git commit -m ' feat: 初始化项目'
  • 1.6、 设置远程仓库地址(即代码要提交到哪里的服务器)
    // 当然也可以使用ssh 链接
    git remote add github.origin https://github.com/aehyok/demo.git
  • 1.7、 推送到远程服务器(注意一点,首次推送要设置追踪)
    // 设置本地分支追踪远程分支、、、之后就可以直接git push
    git push --set-upstream origin main
  • 1.8、 修改文件名会忽略大小写,默认都是忽略了,所以修改文件名大小写是无效的
    // (查看是否忽略大小写) true则设置了忽略
    git config core.ignorecase // 后面加上false则直接可设置不忽略,修改文件名大小写后会生效
    git config core.ignorecase false
  • 1.9、修改文件夹名字大小写的问题
    // (修改前先将Test文件夹备份并修改为TestTemp<一个临时文件夹名字而已>,
    // 然后执行命令
    git rm Test
    // 再将备份文件夹名字修改为需要的文件夹即可
    --------------另外一种简单粗暴的方式-----------------
    // 还是先备份好要删除的文件,然后将文件删除,提交到仓库。
    // 完事后将备份的文件复制回来,然后修改文件大小写,再提交即可。
  • 1.10、 是将远程主机的最新内容拉到本地 ,用户在检查了以后决定是否合并到工作本机分支中。
    git fetch
    //更多基本操作
    //https://www.cnblogs.com/runnerjack/p/9342362.html
  • 1.11、同样一个本地仓库可以设置多个远程仓库,然后通过不同的git push github.origin
     // 设置个github远程仓库
    git remote add github.origin https://github.com/aehyok/demo.git // 设置个gitee远程仓库
    git remote add gitee.origin https://github.com/aehyok/demo.git // 推送到github
    git push github.origin // 推送到gitee
    git push gitee.origin
  • 1.12、克隆代码库
     // 目前没指定分支,默认为master
    git clone https://github.com/aehyok/demo.git // 指定分支名称
    git clone -b dev https://github.com/aehyok/demo.git

2、分支管理

  • 2.1、 创建分支
    // 切换到基础分支
    git checkout main // 根据 切换到的main分支,创建dev分支并切换到dev分支
    git checkout -b dev
  • 2.2、 查看分支
    // 查看本地分支
    git branch // 查看本地分支和远程分支,如果不存在需要git fetch一下
    git branch -a // 查看远程分支
    git branch -r
  • 2.3、 修改分支名称
    // 修改当前本地分支的名称
    git branch -m develop-lqm // 也可以修改指定的分支 原分支名称 新分支名称
    git branch -m develop-lam develop-lqm
  • 2.4、 删除本地分支和删除远程分支
    // 先切换到其他分支
    git checkout dev1.3.4 // 删除本地分支
    git branch -d dev // 如果删除不了,可以进行强制删除
    git branch -D dev // 有必要的情况下,删除远程分支但是要谨慎使用
    git push origin --delete dev

3、合并代码

  • 3.1、 将某个提交,任何跟仓库所有分支的commit 合并到当前分支
    // (正常情况直接合并成功,可能存在重复图需要手动解决)
    git cherry-pick commitid // 正常情况直接push即可,手动解决冲突需要commit 再进行push
    git push // 扩展阅读:还可以一起提交commitid-A到commitid-B 之间所有的内容修改
    // http://www.ruanyifeng.com/blog/2020/04/git-cherry-pick.html
  • 3.2、 当前分支dev的代码提交push成功,此时想合并到main分支上
    // 先切换到main分支
    git checkout main // 将dev分支的变更拉取到main分支上来
    git merge dev // 合并完成,即可推送到远程服务器
    git push -u origin main

4、tag标签

  • 4.1、添加一个tag,并推送到远程仓库
    git tag -a 3.11.3.001 -m "release 3.11.3.001"
    git push origin 3.11.3.001
  • 4.2、 删除一个tag
    git tag -d 3.11.3.001
    git push origin :refs/tags/3.11.3.001
  • 4.3、 查看tag
    git tag
  • 4.4、在某个commit上打tag
    git tag test_tag c809ddbf83939a89659e51dc2a5fe183af384233    
    git push origin test_tag    //!!!本地tag推送到线上
  • 4.5、 根据tag创建分支
    https://www.cnblogs.com/senlinyang/p/9455426.html
    git branch newbranch 3.11.3.001
    // 切换到分支
    git checkout newbranch

Git 常用命令总结,将会持续更新的更多相关文章

  1. git常用命令合集(持续完善)

    git常用命令合集(持续更新,仅为便于查阅) 上传整个项目 git init git add 项目名 git commit -m "提交的注释信息" 若已经绑定远程仓库,则直接:g ...

  2. Linux常用命令及工具记录(持续更新)

    一.命令 convmv   作用:文件名的编码转换   安装:sudo apt-get install convmv   使用:convmv * -f gbk -t utf8 --notest   c ...

  3. git常用命名:自用,持续更新

    1.切换分支 git checkout -b dev origin/feature/迭代1.1 2.提交本地代码到github git init //初始化git git config --globa ...

  4. git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  5. 【github&&git】4、git常用命令(持续更新中)

    git常用命令(持续更新中) 本地仓库操作git int                                 初始化本地仓库git add .                       ...

  6. 开发常用Git/Linux/idea命令快捷键总结(持续更新)

    在开发过程中,会使用越来越多的命令,或快捷键,来帮助我们提高工作效率.本文记录了我在平时积累的常用命令,分享给大家. git命令 基本命令 set LESSCHARSET=utf-8 --idea T ...

  7. Git 常用命令 更新与提交

    整理了一下Git 常用命令,这个版本还是比较好用的,最后附上个人终结版,帮助你快速上手. 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone yourgit ...

  8. Git常用命令清单笔记

    git github 小弟调调 2015年01月12日发布 赞  |   6收藏  |  45 5k 次浏览 这里是我的笔记,记录一些git常用和一些记不住的命令,这个笔记原本是基于 颜海镜的文章增加 ...

  9. 把git仓库从码云迁到github,及git常用命令

    前言 刚开始建仓库的时候,因为网络的原因选择了国内的码云.后来又想换成github,毕竟平时github使用率比较高. 替换远程仓库地址方式如下: git remote set-url origin ...

  10. Ubuntu常用命令及git常用命令

    1. CMakeLists.txt中指定OpenCV路径 set(OPENCV_DIR /***/***/opencv-2.4.9) 2. cmake工程编译安装 mkdir build cd bui ...

随机推荐

  1. 通过穷举法快速破解excel或word加密文档最高15位密码

    1.打开文件 2.工具 --- 宏 ---- 录制新宏 --- 输入名字如 :aa 3.停止录制 ( 这样得到一个空宏 ) 4.工具 --- 宏 ---- 宏 , 选 aa, 点编辑按钮 5.删除窗口 ...

  2. 关于PHP的表单数组提交显示

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title> 5 <meta chars ...

  3. jwt以及如何使用jwt实现登录

    目录 jwt的使用和使用jwt进行登录 什么是jwt jwt的组成 为什么选择jwt session的缺点 jwt的优点 一个jwt的工具类 将jwt和登录进行结合 axios方式将jwt放在head ...

  4. 为什么要从 Linux 迁移到 BSD 4

    为什么要从 Linux 迁移到 BSD 4 许可证问题 Linux GPL 许可证对开发者的要求比较严格,它是一种开源的反模式,因为它强制发布所有修改过的源代码,并且阻止其他开源项目的集成,例如 GP ...

  5. 数据库遇到的问题——mysql在线修改表结构大数据表的风险与解决办法归纳

    互联网应用会频繁加功能,修改需求.那么表结构也会经常修改,加字段,加索引.在线直接在生产环境的表中修改表结构,对用户使用网站是有影响. 以前我一直为这个问题头痛.当然那个时候不需要我来考虑,虽然我们没 ...

  6. 最简要的Dubbo文档

    1.Dubbo是什么? Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC 分布式服务框架,现已成为 Apache 基金会孵化项目. 面试官问你如果这个都不清楚,那下面的就没必要问了. 官网: ...

  7. 如何在 ASP.Net Web Forms 中使用依赖注入

    依赖注入技术就是将一个对象注入到一个需要它的对象中,同时它也是控制反转的一种实现,显而易见,这样可以实现对象之间的解耦并且更方便测试和维护,依赖注入的原则早已经指出了,应用程序的高层模块不依赖于低层模 ...

  8. 杨辉三角的实现(Java)

    杨辉三角的实现 一.什么是杨辉三角 杨辉三角是二项式系数在三角形中的一种几何排列.每个数等于它上方两数之和.每行数字左右对称,由1开始逐渐变大.第n行的数字有n项.前n行共[(1+n)n]/2 个数. ...

  9. toastr通知插件的使用

    /显示一个警告,没有标题 toastr.warning('My name is Inigo Montoya. You killed my father, prepare to die!') 显示一个成 ...

  10. Java进阶专题(二十八) Service Mesh初体验

    前言 ​ ⽬前,微服务的架构⽅式在企业中得到了极⼤的发展,主要原因是其解决了传统的单体架构中存在的问题.当单体架构拆分成微服务架构就可以⾼枕⽆忧了吗? 显然不是的.微服务架构体系中同样也存在很多的挑战 ...