zoukankan      html  css  js  c++  java
  • Git 常用命令总结,将会持续更新

    平常在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
      
  • 相关阅读:
    P1017 进制转换
    P1100 高低位交换
    P1469 找筷子
    P1866 编号
    SQL常用语句(T-SQL、PL/SQL)
    Proxyer内网穿透配置教程
    使用JS检测自定义协议是否存在
    C# 代码启动ClickOnce应用
    SQL Server 异地备份到远程共享文件夹异常处理
    发布ClickOnce应用程序步骤与URL传参应用
  • 原文地址:https://www.cnblogs.com/aehyok/p/14736123.html
Copyright © 2011-2022 走看看