首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

可能每天都会用到的Git命令速查表

我每天都使用Git。 我想,大多数软件开发人员也是如此。 老实说,莱纳斯·托瓦尔兹(Linus Torvalds)的小项目几乎感觉像是一个奇迹。...在上一次提交时签出项目的状态 要返回过去查看过去一次给定提交的项目状态,请首先运行git log以查看提交历史记录,然后选择要返回的提交。 然后,复制其哈希并仅运行git checkout 。...要返回,只需按名称签出分支即可。 忽略已经添加到Git的文件 我们到过那里-添加或提交我们不应该拥有的东西。...从Git删除文件并修剪其整个历史记录 如果你曾经将敏感数据推送到远程存储库(例如,在GitHub上),则不仅需要从Git跟踪中删除文件,还需要删除其整个历史记录。...错误分支上的提交 如果你在错误的分支上进行了提交,则应该能够使用我们有关删除提交的知识来解决该问题,如下所示: git branch && git reset HEAD~2 -

1.2K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Git GC命令清理Git暂存区

    最近发现本地仓库暂存区存储空间飙升了好几个G,然后发现我又不知道该怎么解决,问了一个同行群,发现可以使用Git gc清理仓库,一瞬间像是打开了新世界的大门,我居然从来不知道Git Gc……….....通常最快捷的办法是使用 git reflog 工具。当你 (在一个仓库下) 工作时,Git 会在你每次修改了 HEAD 时悄悄地将改动记录下来。当你提交或修改分支时,reflog 就会更新。...而在这次提交之前仅用了 2K 左右 ── 显然在这次提交时删除文件并没有真正将其从历史记录中删除。...这样做是出于速度考虑 ── 由于 Git 在运行你的 filter 之前无需将所有版本签出到磁盘上,这个操作会快得多。也可以用 --tree-filter 来完成相同的操作。...在进行 repack 前需要将所有对这些提交的引用去除: $ rm -Rf .git/refs/original $ rm -Rf .git/logs/ $ git gc Counting

    7K20

    Git中的命令和操作

    在开始使用命令和操作之前,让我们首先了解Git的主要动机。Git的目的是管理随着时间变化的项目或文件集。Git将此信息存储在称为Git存储库的数据结构中。该存储库是Git的核心。 ?...因此,在更改工作树之后,在运行commit命令之前,必须使用add命令将所有新文件或已修改的文件添加到索引中。...现在,我已经在本地存储库中进行了所需的提交。 请注意,在影响对中央存储库的更改之前,应始终将更改从中央存储库拉到本地存储库,以更新已对中央存储库做出贡献的所有协作者的工作。...积累了多个本地提交并准备与团队其他成员共享之后,可以使用以下命令将其推送到中央存储库: git push 注意:该远程服务器是指在使用pull命令之前已设置的远程存储库。...现在,我们在newBranch上的工作紧随master之后,我们有了不错的线性提交序列。 注意:重新设置基准还可以防止上游合并,这意味着您不能将master放在newBranch之后。

    1.8K10

    IDEA中换行符导致的ESlint警告的解决方法

    前言 项目中可能出现这么一种情况,A提交的代码,B使用Git拉下来之后都是ESlint报的警告。 问题原因 各开发平台的换行符不一致,Win平台会出问题。...这个功能默认处于“自动模式”,当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。...Git 的“换行符自动转换”功能听起来似乎很智能、很贴心,因为它试图一方面保持仓库内文件的一致性(UNIX 风格),一方面又保证本地文件的兼容性(Windows 风格)。...那么导致换行符不一致的原因就有可能是如下: 开发工具的默认换行符不一致 GIT更换了换行符 GIT设置 禁用GIT的自动修改换行符功能: 方式1 在本地路径C:\Users\[用户名]\.gitconfig...core.safecrlf true # 允许提交包含混合换行符的文件 git config --global core.safecrlf false # 提交包含混合换行符的文件时给出警告 git

    3.6K00

    Windows系统Git安装教程

    我下载的是 2.24.0 for Windows,文件名称是“Git-2.24.0.2-64-bit.exe”。下载到电脑上之后,鼠标双击这个文件即可进入安装过程。...我使用默认选项第一项,点击“Next”按钮继续到下图的界面: 08、配置行尾符号转换 ?   这个界面是配置行尾符号转换。   第一个选项是“签出Windows风格,提交Unix风格的行尾”。...签出文本文件时,Git不会执行任何转换。 提交文本文件时,CRLF将转换为LF。...对于跨平台项目,这是Unix上的建议设置(“ core.autocrlf”设置为“ input”)   第三种选项是“按原样签出,按原样提交”。当签出或提交文本文件时,Git不会执行任何转换。...ASCII字符,并且在Windows 10之前,其窗口不能自由调整大小,并且只允许矩形文本选择。

    3.7K20

    在centos搭建git服务器时,不小心把homegit目录删除了,我是怎么恢复的

    在centos搭建git服务器时,不小心把/home/git目录删除了,我是怎么恢复的 在删除掉/home/git目录后,每次 git push提交时,都让填写密码,烦 第一步:在本地找到id_rsa.pub...公钥文件,这个是共用的,Linux系统和github 中都是使用的这个文件 第二步:在/home下创建git用户的文件夹, 命令 我的git用户名就是Git mkdir git chown -R...git:git git 更改用户的所有者 第三步:在git文件夹下创建 .ssh文件夹 第四步;在 .ssh 文件夹下创建文件authorized_keys 第五部:将id_rsa.pub文件中的值复制到...authorized_keys文件中,保存并退出, 完成,再次修改再提交时不用再输入密码。

    87020

    Visual Studio 2022 17.1 正式发布 生产力大增强

    增强 Git 相关功能 分支比较功能,可以将当前分支与存储库中的其他分支进行比较,更轻松地处理拉取请求(PR)或删除分支。...签出提交(Checkout comit) 增强 Head 分离的能力,对代码审查和测试都有帮助。比如可以通过签出(可以理解为“分离”)最近的几个提交,进而回到之前的代码节点进行测试。...需要注意:签出提交之后,你将处于分离的 HEAD 状态,意味着当前存储库的 HEAD 将直接指向提交而不是当前分支(可以理解成:相对于代码仓库的实际分支,当前的所有更改都属于离线状态)。...因此,如果要保留你签出提交后的更改,请在退出分离的 HEAD 状态之前,创建一个新的分支来保存你更改的内容。 有关“签出提交”功能和更多 Git 增强功能,可在 Taysser 的博客中细阅。...添加了切换颜色方案的功能,可以按文件扩展名或项目为你的标签着色。 添加了启用彩色标签时自定义标签颜色的功能。在一个颜色标签上点击右键,选择“设置标签颜色”。

    2.9K20

    45个 GIT 经典操作场景,专治不会合代码

    我想删除我的的最后一次提交(commit) 如果你需要删除推了的提交(pushed commits),你可以使用下面的方法。...我想把在一个文件里的变化(changes)加到两个提交(commit)里 git add 会把整个文件加入到一个提交. git add -p 允许交互式的选择你想要提交的部分....#14 执行 cherry-pick: (14)$ git cherry-pick 5ea5173 我想删除上游(upstream)分支被删除了的本地分支 一旦你在github 上面合并(merge)...删除一个本地分支: (main)$ git branch -D my-branch 我想从别人正在工作的远程分支签出(checkout)一个分支 首先, 从远程拉取(fetch) 所有分支: (main...我只想组合(combine)未推的提交(unpushed commit) 有时候,在将数据推向上游之前,你有几个正在进行的工作提交(commit)。

    1.1K10

    45 个Git经典操作场景,专治不会合代码

    我想删除我的的最后一次提交(commit) 如果你需要删除推了的提交(pushed commits),你可以使用下面的方法。...#14 执行 cherry-pick: (14)$ git cherry-pick 5ea5173 我想删除上游(upstream)分支被删除了的本地分支 一旦你在github 上面合并(merge...删除一个本地分支: (main)$ git branch -D my-branch 我想从别人正在工作的远程分支签出(checkout)一个分支 首先, 从远程拉取(fetch) 所有分支: (main...我只想组合(combine)未推的提交(unpushed commit) 有时候,在将数据推向上游之前,你有几个正在进行的工作提交(commit)。...$ git reset --hard 0254ea7 然后使用git reset就可以把main改回到之前的commit,这提供了一个在历史被意外更改情况下的安全网。

    81020

    如何使用Git:参考指南

    没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器。 设置和初始化 使用以下命令检查您的Git版本,该命令还将确认已安装Git。...检查Git存储库的状态,包括未分阶段添加的文件和暂存的文件。 git status 要暂存已修改的文件,请使用该add命令,您可以在提交之前多次运行该命令。...在切换到新分支之前,您将保留在当前活动的分支上。 git branch new-branch 切换到任何现有分支并将其签出到当前工作目录中。...git diff 61ce3e6..e221d9c 存储 有时您会发现您对某些代码进行了更改,但在完成之前,您必须开始处理其他内容。您还没有准备好提交您目前所做的更改,但您不想丢失您的工作。...git rebase upstream/master 重置 有时,包括在rebase之后,您需要重置您的工作树。您可以使用以下命令重置为特定提交,并删除所有更改。

    1.4K94

    Git-Flow 的工作流程最全面使用总结

    听起来是不是有点炫,但实际上它只是在你的分支上配置了一些命名规则。 尽管如此,这个安装助手还是允许你使用自己喜欢的名字。我强烈建议你使用默认的命名机制,并且一步一步地确定下去。...而其他的分支,例如针对功能的分支,针对发行的分支,仅仅只是临时存在的。它们是根据需要来创建的,当它们完成了自己的任务之后就会被删除掉。 让我们开始探索一些在现实应用中可能遇到的案例吧!...稍后和所有积攒在 “develop” 分支中的其它功能一起进行发布。 之后,git-flow 也会进行清理操作。它会删除这个当下已经完成的功能分支,并且换到 “develop” 分支。...为便于识别和做历史参考,release 提交会被标记上这个 release 的名字(在我们的例子里是 “1.1.5”)。 清理操作,版本分支会被删除,并且回到 “develop”。...回顾一下 最后,在结束这个章节之前,我要再次强调几个重点。 首先,git-flow 并不会为 Git 扩展任何新的功能,它仅仅使用了脚本来捆绑了一系列 Git 命令来完成一些特定的工作流程。

    1.1K20

    不得不提及的git-flow 的工作流程

    听起来是不是有点炫,但实际上它只是在你的分支上配置了一些命名规则。 尽管如此,这个安装助手还是允许你使用自己喜欢的名字。我强烈建议你使用默认的命名机制,并且一步一步地确定下去。...而其他的分支,例如针对功能的分支,针对发行的分支,仅仅只是临时存在的。它们是根据需要来创建的,当它们完成了自己的任务之后就会被删除掉。 ? 让我们开始探索一些在现实应用中可能遇到的案例吧!...稍后和所有积攒在 “develop” 分支中的其它功能一起进行发布。 之后,git-flow 也会进行清理操作。它会删除这个当下已经完成的功能分支,并且换到 “develop” 分支。...为便于识别和做历史参考,release 提交会被标记上这个 release 的名字(在我们的例子里是 “1.1.5”)。 清理操作,版本分支会被删除,并且回到 “develop”。...回顾一下 最后,在结束这个章节之前,我要再次强调几个重点。 首先,git-flow 并不会为 Git 扩展任何新的功能,它仅仅使用了脚本来捆绑了一系列 Git 命令来完成一些特定的工作流程。

    58840

    git 换行符LF与CRLF转换问题

    转载自: git 换行符LF与CRLF转换问题 一、背景 在各操作系统下,文本文件所使用的换行符是不一样的。...这个功能默认处于“自动模式”,当你在签出文件时,它试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。...Git 的“换行符自动转换”功能听起来似乎很智能、很贴心,因为它试图一方面保持仓库内文件的一致性(UNIX 风格),一方面又保证本地文件的兼容性(Windows 风格)。...input 提交检出均不转换 git config --global core.autocrlf false SafeCRLF 拒绝提交包含混合换行符的文件 git config --global...core.safecrlf true 允许提交包含混合换行符的文件 git config --global core.safecrlf false 提交包含混合换行符的文件时给出警告 git config

    2.1K40

    Git 帮助手册

    最后,为 bug #14 执行 cherry-pick : (14)$ git cherry-pick 5ea5173 # 我想删除上游 (upstream) 分支被删除了的本地分支 一旦你在 github...git fetch -p # 我不小心删除了我的分支 如果你定期推送到远程,多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。...删除一个本地分支: (master)$ git branch -D my-branch # 我想从别人正在工作的远程分支签出 (checkout) 一个分支 首先,从远程拉取 (fetch) 所有分支...my-branch # 我只想组合 (combine) 未推的提交 (unpushed commit) 有时候,在将数据推向上游之前,你有几个正在进行的工作提交 (commit)。...git reset --hard 0254ea7 然后使用 git reset 就可以把 master 改回到之前的 commit,这提供了一个在历史被意外更改情况下的安全网。

    4.3K30

    45 个 Git 操作场景,专治不会合代码

    我想删除我的的最后一次提交(commit) 如果你需要删除推了的提交(pushed commits),你可以使用下面的方法。...我想把在一个文件里的变化(changes)加到两个提交(commit)里 git add 会把整个文件加入到一个提交. git add -p 允许交互式的选择你想要提交的部分....删除一个本地分支: (main)$ git branch -D my-branch 我想从别人正在工作的远程分支签出(checkout)一个分支 首先,从远程拉取(fetch) 所有分支: (main...我只想组合(combine)未推的提交(unpushed commit) 有时候,在将数据推向上游之前,你有几个正在进行的工作提交(commit)。...$ git reset --hard 0254ea7 然后使用git reset就可以把main改回到之前的commit,这提供了一个在历史被意外更改情况下的安全网。

    1K10

    研发:git flow 研发工作流程

    听起来是不是有点炫,但实际上它只是在你的分支上配置了一些命名规则。 尽管如此,这个安装助手还是允许你使用自己喜欢的名字。我强烈建议你使用默认的命名机制,并且一步一步地确定下去。...而其他的分支,例如针对功能的分支,针对发行的分支,仅仅只是临时存在的。它们是根据需要来创建的,当它们完成了自己的任务之后就会被删除掉。 ? 让我们开始探索一些在现实应用中可能遇到的案例吧!...稍后和所有积攒在 “develop” 分支中的其它功能一起进行发布。 之后,git-flow 也会进行清理操作。它会删除这个当下已经完成的功能分支,并且换到 “develop” 分支。...为便于识别和做历史参考,release 提交会被标记上这个 release 的名字(在我们的例子里是 “1.1.5”)。 清理操作,版本分支会被删除,并且回到 “develop”。...回顾一下 最后,在结束这个章节之前,我要再次强调几个重点。 首先,git-flow 并不会为 Git 扩展任何新的功能,它仅仅使用了脚本来捆绑了一系列 Git 命令来完成一些特定的工作流程。

    1.1K30

    经典45个git使用技巧与场合,专治不会合代码。

    我想删除我的的最后一次提交(commit) 如果你需要删除推了的提交(pushed commits),你可以使用下面的方法。...我想把在一个文件里的变化(changes)加到两个提交(commit)里 git add 会把整个文件加入到一个提交. git add -p 允许交互式的选择你想要提交的部分...., 为 bug #14 执行 cherry-pick: (14)$ git cherry-pick 5ea5173 我想删除上游(upstream)分支被删除了的本地分支 一旦你在github 上面合并...删除一个本地分支: (main)$ git branch -D my-branch 我想从别人正在工作的远程分支签出(checkout)一个分支 首先, 从远程拉取(fetch) 所有分支...(commit) (main)$ git merge --squash my-branch 我只想组合(combine)未推的提交(unpushed commit) 有时候,在将数据推向上游之前,

    1.5K20

    45个 GIT 经典操作场景,专治不会合代码

    我想删除我的的最后一次提交(commit) 如果你需要删除推了的提交(pushed commits),你可以使用下面的方法。...我想把在一个文件里的变化(changes)加到两个提交(commit)里 git add 会把整个文件加入到一个提交. git add -p 允许交互式的选择你想要提交的部分....#14 执行 cherry-pick: (14)$ git cherry-pick 5ea5173 我想删除上游(upstream)分支被删除了的本地分支 一旦你在github 上面合并(merge)...删除一个本地分支: (main)$ git branch -D my-branch 我想从别人正在工作的远程分支签出(checkout)一个分支 首先, 从远程拉取(fetch) 所有分支: (main...我只想组合(combine)未推的提交(unpushed commit) 有时候,在将数据推向上游之前,你有几个正在进行的工作提交(commit)。

    1.8K40
    领券