首页 > 其他分享 >常用的一些git命令与讲解,看看你还有哪些不知道

常用的一些git命令与讲解,看看你还有哪些不知道

时间:2024-07-08 18:00:02浏览次数:12  
标签:git log 哪些 url stash 提交 讲解 分支

Git 是一个分布式的版本控制系统,用作 Linux 内核代码的管理,Git 同样可以作为部署工具所使用。GitHub 的独特在于从另外一个项目进行分支的简易性。为一个项目贡献代码非常简单:首先点击项目站点的“fork”的按钮,然后将代码检出并将修改加入到刚才分出的代码库中,最后通过内建的“pull request”机制向项目负责人申请代码合并。Git 也是我们较常用的版本控制服务。

下面是常用的一些 git 命令

  • 进行 git 初始化建立
    在本地新建一个 repo,进入一个项目目录,执行 git init,会初始化一个 repo,并在当前文件夹下创建一个.git 文件夹.
git init
  • 获取一个 url 对应的远程 Git repo, 创建一个 local copy.一般的格式是 git clone [url].clone 下来的 repo 会以 url 最后一个斜线后面的名称命名,创建一个文件夹,如果想要指定特定的名称,可以 git clone [url] newname 指定.
git clone
  • 查询 repo 的状态.
git status
git status -s

-s表示short, -s的输出标记会有两列,第一列是对staging区域而言,第二列是对working目录而言.

  • show commit history of a branch.
git log –oneline –number // 每条log只显示一行,显示number条.
git log –oneline –graph // 可以图形化地表示出分支合并历史.
git log branchname // 可以显示特定分支的log.
git log –oneline branch1 ^branch2 // 可以查看在分支1,却不在分支2中的提交.^表示排除这个分支(Window下可能要给^branch2加上引号).
git log –decorate // 会显示出tag信息.
git log –author=[author name] // 可以指定作者的提交历史.
git log –since –before –until –after // 根据提交时间筛选log.
git log –grep // 根据commit信息过滤log: git log –grep=keywords
  • 在提交之前,Git 有一个暂存区(staging area),可以放入新添加的文件或者加入新的改动. commit 时提交的改动是上一次加入到 staging area 中的改动,而不是我们 disk 上的改动.git add 会递归地添加当前工作目录中的所有文件.
git add
  • 比较工作目录中当前文件和暂存区域快照之间的差异,也就是修改之后还没有暂存起来的变化内容
git diff
  • 若要看已经暂存起来的文件和上次提交时的快照之间的差异,可以用:
git diff -cached
  • 可以用来比较两个分支.
git diff [branchA] [branchB]
  • 提交已经被 add 进来的改动.
git commit -m ' '
  • 先把所有已经 track 的文件的改动 add 进来,然后提交
git commit -a
  • 增补提交. 会使用与当前提交节点相同的父节点进行一次新的提交,旧的提交将会被取消
git commit –amend
  • 讲代码回归到当前分支最末梢最新的一个提交版本
git reset HEAD: unstage files from index and reset pointer to HEAD
  • 可以单独针对某一个文件操作
git reset HEAD –– filename
  • 撤销最近的一个提交
git revert HEAD
  • 从 staging 区移除文件,同时也移除出工作目录
git rm file
  • 从 staging 区移除文件,但留在工作目录中
git rm –cached
  • 是从工作目录中移除没有 track 的文件
git clean -df

-d表示同时移除目录,-f表示force,因为在git的配置文件中, clean.requireForce=true,如果不加-f,clean将会拒绝执行.

  • 把当前的改动压入一个栈
git stash
  • 显示这个栈的 list
git stash list
  • 取出 stash 中的上一个项目(stash@{0}),并且应用于当前的工作目录
git stash apply
  • 也可以指定别的项目
git stash apply stash@{1}
  • 如果你在应用 stash 中项目的同时想要删除它,可以用
git stash pop
  • 删除所有项目
git stash clear
  • 列出本地所有分支,当前分支会被星号标示出
git branch
  • 创建一个新的分支
git branch (branchname)
  • 删除一个分支.
git branch -d (branchname)
  • 切换到一个分支
git checkout (branchname)
  • 创建并切换到新的分支
git checkout -b (branchname)
  • 把一个分支 merge 进当前的分支
git merge [alias]/[branch]

如果出现冲突,需要手动修改,可以用git mergetool. 解决冲突的时候可以用到git diff,解决完之后用git add添加,即表示冲突已经被resolved.

  • 基于当前节点创建 tag
git tag v1.0
  • 列出所有远程分支
git remote
  • 添加一个新的 remote repo.
git remote add [alias] [url]
  • 删除一个存在的 remote alias
git remote rm [alias]
  • 重命名分支别名
git remote rename [old-alias] [new-alias]
  • 更新远程的 url
git remote set-url [alias] [url]
  • 获取本地未有的分支与提交节点
git fetch
  • 拉去远程内容
git pull
  • 提交内容至远端
git push

标签:git,log,哪些,url,stash,提交,讲解,分支
From: https://blog.csdn.net/rcwh_white/article/details/140275368

相关文章

  • 使用gitea搭建源码管理【0到1架构系列】
    使用开源搭建Git源码方案,gitlab和gitea是两个不错的方案,gitlab以前简单易用,现在功能复杂且对开源并不友好,gitea一直保持功能单一易用且完全开源,个人推荐gitea。通过容器安装比较简单易用,使用镜像加速器拉取或许更快些。dockerpullbitnami/giteagitea需要数据库储存,可以选择my......
  • 免费零代码平台有哪些?看看敲敲云
    敲敲云简介敲敲云是一个APaaS零代码平台,帮助企业快速搭建个性化业务应用。用户不需要编码就能够搭建出用户体验上佳的销售、运营、人事、采购、进销存、CRM、ERP、OA等核心业务应用,打通企业内部数据,也能够通过API和Webhook和其他系统对接。平台内的自动化工作流还可以实......
  • git-远程仓库
    1.添加远程仓库使用gitremoteadd命令将一个远程仓库添加到你的本地仓库中。gitremoteadd<name><url>例如:gitremoteaddoriginhttps://github.com/username/repository.git2.查看远程仓库使用gitremote命令可以查看当前配置的远程仓库。加上-v选项可以显示远程......
  • Spring Boot Vue 毕设系统讲解 3
    目录项目配置类项目中配置的相关代码springBoot拦截器相关知识一、基于URL实现的拦截器:二、基于注解的拦截器三、把拦截器添加到配置中,相当于SpringMVC时的配置文件干的事儿:项目配置类项目中配置的相关代码首先定义项目认证授权拦截器  AuthorizationIntercep......
  • 哪些方法可以将word导出为pdf格式?
    在日常工作和学习中,我们经常需要将Word文档转换为PDF格式,以便更好地保存、分享和打印文件。PDF格式具有跨平台兼容性好、不易被篡改等优点,因此得到了广泛应用。那么Word如何转PDF呢?本文将介绍三种实用的word转pdf的方法,帮助读者轻松实现文档格式的转换。方法一:使用Word软件自带的......
  • Windows 电脑查看 WiFi 密码的方法都有哪些?
    从设置面板中查看当你使用的是笔记本电脑并且连接WiFi之后可以在设置面板中查看WiFi密码,首先打开设置界面,然后点击网络和Internet,找到WiFi之后点击进入,然后点击管理已知网络。然后点击已经连接好的无线网络。进入之后点击查看WiFi安全密钥区域的显示按钮,就可以看......
  • 最简单的浏览器插件启用github双因素身份验证 (2FA)方法
    在github贡献一定的代码量后,github会要求启用双因素身份验证,否则登录会受到影响。一般有短信验证,app扫码验证,这里推荐一种最简单的方式,用浏览器插件验证。首先,在edge浏览器的微软插件商店(https://microsoftedge.microsoft.com/addons/Microsoft-Edge-Extensions-Home)搜索Aut......
  • Tool-Gitlab-重置数据库,修复server迁移token异常
    Tool-Gitlab-重置数据库,修复server迁移token异常迁移gitlab的server数据之后,导致token异常影响:修改工程配置信息,提交时页面报错502sudogitlab-railsdbconsole--databasemainDELETEFROMci_group_variables;DELETEFROMci_variables;UPDATEprojectsSETrunners_token......
  • 适合学生党性价比高的蓝牙耳机有哪些?几款必看的性价比耳机分享
    蓝牙耳机几乎成为了我们日常生活中不可或缺的一部分,对于学生党来说,找到一款既符合预算又不牺牲品质的蓝牙耳机尤为重要,无论是在学习、运动还是通勤路上,一个好的蓝牙耳机都能带来更佳的音乐体验和便捷的通话功能,在众多的蓝牙耳机款式和品牌里,适合学生党性价比高的蓝牙耳机有哪些......
  • [GIT] 解决:git status时有Untracked files(未跟踪的文件)
    1问题描述gitpull时失败,报Pleasemoveorremovethembeforeyoumerge。结果gitstatus显示有一堆不太想提交的Untrackedfiles(未跟踪的文件)。那么,Untrackedfiles文件状态的文件,是什么?一般又如何处理呢?2原因分析我们要真正弄明白问题的原因,我们就要先知道文件的......