实用工具系列-git常用命令

2024-04-13 07:36

本文主要是介绍实用工具系列-git常用命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者持续关注 WPS二次开发专题系列,持续为大家带来更多有价值的WPS开发技术细节,如果能够帮助到您,请帮忙来个一键三连,更多问题请联系我(WPS二次开发QQ群:250325397),摸鱼吹牛嗨起来!

目录

一、Git操作命令

1. git 版本库操作

2.git 配置

git 日志操作

3.git 还原操作

4. 分支操作

二、实践应用场景

查看分支创建者

根据关键字搜索关联分支----使用"grep"进行过滤


一、Git操作命令

1. git 版本库操作


  • git init: 初始化仓库
  • git clone https://github.com/xx/xx.git : 克隆代码
  • git remote add origin https://github.com/xx/xx.git 设置远程git路径
  • git remote set-url origin <url> : 修改仓库地址
  • git remote -v : 查看远程仓库地址
  • git push -u origin master(分支) : 上传代码到远程仓库
  • git push : 提交所有
  • git fetch : 拉取远程仓库,拉取远程仓库所有分支信息
  • git fetch origin <分支名>: 拉取远程仓库特定分支信息
  • git pull : 拉取所有

暂存区

  • git add . :添加全部文件,将全部文件添加到暂存区, 相当于GUI的add操作
  • git add -u: 更新提交记录(本地)
  • git reset HEAD test.txt:暂存区撤销,撤销添加到暂存区的文件
  • git add file.txt file2.text: 添加一个和多个文件,用空格分开文件名
  • git commit - m “初始化提交” : 提交命令
  • git commit --amend : 修改提交说明
  • git cherry-pick <commitId1><commitID2>将指定的提交<commitId> 合并到当前分支, 会产生一个新的的提交记录 git cherry-pick 教程 - 阮一峰的网络日志 pick教程
  • git cherry-pick <branchName>: 合并分支的最新(最近一次)提交
  • git diff HEAD -- git01.txt :与版本库内容进行比较“----”:表示变动前的文件,“+++”:变动后的文件, 变动的位置用两个@作为起首和结束
  • git status : 查看状态,可以查看所有文件变化
  • git -version: 查看git版本,看git是否安装成功

2.git 配置


  • git config --global user.name 'xx' : 配置一个全局的用户(xx)
  • git config --global --repleace-all user.name “xx”: 替换已经设置了用户名
  • git config --global user.email 'xxx' : 配置一个全局的邮箱(xxx)
  • git config --global --list: 查看所有的配置,可以看到的用户名,邮箱配置
  • git config --add --local user.name “xx” :设置当前仓库的用户名
  • git config --add --local user.email “xxx” : 设置当前仓库的邮箱
  • git config --local --list : 查看当前仓库的用户名和邮箱
  • git rm --cached test.txt: 撤销误提交的test.txt文件
  • git rm file.txt : 删除文件,删除file.txt文件
  • git mv file1.txt file2.txt : 重命名,将file1.txt 重命名为file2.txt
  • git mv file.txt home/file.txt :将文件移动到文件夹home下

git 日志操作

  • git log: 查看提交记录,查看所有人的提交记录
  • git log --oneline :查看简写的log日志
  • git log --author=”用户名’ : 查看单个人提交记录, 没有任何显示,这说明没有这个人或提交记录//文件有变化的时候,如何查看文件的前后变化
  • git log --pertty=oneline home/home.html : 查看文件变化的id(commit id)
  • git log --graph --pertty=oneline : 查看分支合并图
  • git log --oneline --graph : 查看版本路线
  • git log -p home/demo.html : 查看文件具体修改的内容git show 提交id(commit id): 显示谁提交的,修改了哪些内容

3.git 还原操作

//操作失误的情况下,如何一键还原git diff : 找到不同git checkout -- home/home.html : 将文件回到上一次状态,(还原到上一次提交的状态),未实现文件追踪的时候git checkout 版本号 -- demo.html : 将指定文件回退到指定版本

git reset

  • git reset HEAD home/home.html : 撤销追踪,已经实现了文件追踪,想回到上次提交的状态//回到上一版本,或者指定
  • git reset --hard HEAD^ : 一个尖括号表示回到上一个版本,HEAD^^:回退到上上版本,有几个尖括号代表回退几个版
  • git reset --hard 版本id :回退到指定版本
  • git reset --hard: 重置head 和branch的时候,重置工作区 + 暂存区 会覆盖本地所有修改
  • git reset --soft: 重置HEAD和Branch的时候,保留工作区 + 暂存区, 新修改添加到暂存区
  • git reset --mixed: 保留工作区 + 清空暂存区, 所有修改都放到工作区

git revert

git - 在恢复后的命令栏中,git显示( master|REVERTING )你在revert中,可以执行以下任一操作:

  • git revert --continue / --quit / --abort--continue 使用.git/sequencer中的信息继续进行中的操作。可用于在解决失败的cherry pick或revert中的冲突后继续。--quit 忽略正在进行的当前操作,可用于在失败的cherry pick或revert后,清除sequencer状态。--abort 取消操作并返回序列前状态。

git bash :进入某个目录:$ cd /f/gitlib/gitdemo 表示进入:F:\gitlib\gitdemo

git restore

  • git restore 文件名: 撤销某个文件修改
  • git resore app/test.java //撤销某个文件修改

//标签管理git tag v1.0 : 创建标签v1.0 ,默认增加到最新的一次commit上面git tag : 查看taggit tag v0.5 commitID : 给指定的提交增加tag v0.5git tag -d tagName : 删除标签

4. 分支操作

  • git branch branchName : 创建分支git branch : 查看分支,*代表当前分支在哪个分支, 顺序安装首字母的顺序排序,并不是创建时间
  • git branch --all/-a: 查看所有分支,本地分支和远程分支,remotes/origin/ xxx 为远程分支
  • git reflog show --date=iso <branchName> : 查看分支创建时间
  • git reflog --date=local --all :查看全部分支创建时间
  • git push origin branch_name: 推送本地分支到远程(远程没有分支,则创建分支)
  • git push --set-upstream origin master :
  • git pull origin master : 拉取远程分支代码(新拉取、更新)
  • git pull :拉取所有远程分支
  • git fetch origin master: 拉取远程分支Head新,这样本地就可以找到分支信息
  • git checkout -b local_branch origin/remote_branch: 拉取远程指定分支并在本地创建分支,创建并关联远程的分支
  • git chekcout branchName : 切换到具体的分支
  • git branch -d branchName : 删除分支,不能删除当前分支, 如果当前分支有提交的代码(commit)的情况, 不能删除
  • git branch -D branchName : 强制删除本地分支
  • git push origin --delete <branch_name> :删除远程分支
  • git push origin : remote_branch: 删除远程分支(本地分支还在保留)
  • git checkout -b branchName : 创建分支并切换到创建的分支: 创建+切换//合并分支: 先要切换到要合并的分支,然后执行合并命令
  • git branch -m 旧名字 新名字 : 本地分支更名
  • git branch -m 旧名字 新名字
  • git diff branch1 branch2: 比较分支差异
  • git merge branchName: 将branchName分支代码合并到当前分支//分支冲突

//方法1

  • git merge --abort :只保留当前分支修改,忽略其它分支合并的内容(冲突内容)//方法2, 手动修改, + git add . + git commit + INSERT编辑中输入变更的说明,wq退出,然后,git commit -m git branch -av : 查看当前分支与远程分支的关系 git rebase: 合并分支另一种方法,Rebase 实际上就是取出一系列提交记录,“复制”它们,然后在另一个地方逐个的放下去。Rebase的优势是可以创造更线性的提交历史比如在bugFix分支上操作:git rebase dev : 相当于将bugFix的修改合并到dev分支上

如果想看 HEAD 指向,可以通过 cat .git/HEAD 查看, 如果 HEAD 指向的是一个引用,还可以用 git symbolic-ref HEAD 查看它的指向。但是该程序不支持这两个命令)

github扩展google访问助手,访问google应用商店Octotree插件

Enhanced gitHub 插件可以查看单个文件的大小,可以直接下载单个文件

gitZip for github插件可以直接下载某个文件夹: 双击出现下载图标

一些恢复操作(能救命的)git stash clear的恢复和找回第一步:

git log --graph --oneline --decorate $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )

第二步:git stash apply commitId -------找On前面的,如上图标注的

参考:git stash clear的恢复和找回_恢复 stash clear-CSDN博客

git忽略已经添加版本控制的文件今天使用git做maven项目的版本控制,刚开始搭建项目后,把所有文件全部提交了。已经提交的文件,gitignore中后配置也无效了。所以使用以下命令来操作,操作后要提交哦。1.执行 git rm -r -n --cached "target/" 展示要删除的文件预览列表2.执行 git rm -r --cached "target/" 删除文件的命令

二、实践应用场景

查看分支创建者

git for-each-ref --format='%(committerdate) %09 %(authorname) %09 %(refname)' | sort -k5n -k2M -k3n -k4n |grep "关键字"

根据关键字搜索关联分支----使用"grep"进行过滤

eg: 查看远程仓库 包含 “关键字”字符串的分支信息

这篇关于实用工具系列-git常用命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899520

相关文章

bat脚本启动git bash窗口,并执行命令方式

《bat脚本启动gitbash窗口,并执行命令方式》本文介绍了如何在Windows服务器上使用cmd启动jar包时出现乱码的问题,并提供了解决方法——使用GitBash窗口启动并设置编码,通过编写s... 目录一、简介二、使用说明2.1 start.BAT脚本2.2 参数说明2.3 效果总结一、简介某些情

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi