阅读更多

1顶
3踩

开源软件

转载新闻 七个你无法忽视的Git使用技巧

2015-11-27 15:40 by 副主编 mengyidan1988 评论(1) 有7105人浏览
与其他技术相比,Git应该拯救了更多开发人员的饭碗。只要你经常使用Git保存自己的工作,你就一直有机会可以将代码退回到之前的状态,因此就可以挽回那些你深夜里迷迷糊糊犯下的错误。

尽管这么说,Git的命令行界面可是出了名的难掌握。接下来,就给大家介绍7个小技巧,最大限度发挥Git的作用。



通常,大部分时间我们都只会用到add、commit、branch和push/pull这 些命令。大部分人熟悉这套只往一个方向运转的工作流。你们有没有想过,如果自己往仓库中添加了错误的文件,或是将代码提交到了错误的分支,而且提交信息还 写错了的话,自己怎样才能取消之前的操作?如果你也是按照上面漫画中所描绘的一样操作的(即删除本地项目文件夹,再重新下载仓库),那么你就有必要了解下 面这些Git使用技巧了。

1. 修改错误的提交信息(commit message)

提交信息很长时间内会一直保留在你的代码库(code base)中,所以你肯定希望通过这个信息正确地了解代码修改情况。 下面这个命令可以让你编辑最近一次的提交信息,但是你必须确保没有对当前的代码库(working copy)做修改,否则这些修改也会随之一起提交。
$ git commit --amend -m ”YOUR-NEW-COMMIT-MESSAGE”

假如你已经将代码提交(git commit)推送(git push)到了远程分支,那么你需要通过下面的命令强制推送这次的代码提交。
$ git push <remote> <branch> --force

你可以关注Stack Overflow网站上的这条问答, 获取更多详情。

2. 提交之前撤销git add

如果你往暂存区(staging area)中加入了一些错误的文件,但是还没有提交代码。你可以使用一条简单的命令就可以撤销。如果只需要移除一个文件,那么请输入:
$ git reset <文件名>

或者如果你想从暂存区移除所有没有提交的修改:
$ git reset

你可以关注Stack Overflow网站上的这条问答, 获取更多详情。

3. 撤销最近一次代码提交

有时候你可能会不小心提交了错误的文件或一开始就遗漏了某些东西。下面这三步操作可以帮助你解决这个问题。
$ git reset --soft HEAD~1
# 对工作文件进行必要的更改
$ git add -A .
$ git commit -c ORIG_HEAD

你执行第一个命令时,Git会将HEAD指针(pointer)后移到此前的一次提交,之后你才能移动文件或作必要的修改。

然后你就可以添加所有的修改,而且当你执行最后的命令时,Git会打开你的默认文本编辑器,其中会包含上一次提交时的信息。如果愿意的话,你可以修改提交信息,或者你也可以在最后的命令中使用-C而不是-c,来跳过这一步。



4. Git仓库撤销至前一次提交时的状态

“撤销”(revert)在许多情况下是非常有必要的——尤其是你把代码搞的一团糟的情况下。最常见的情况是,你想回到之前代码版本,检查下那个时候的代码库,然后再回到现在状态。这可以通过下面的命令实现:
$ git checkout <SHA>

“”是你想查看的提交拥有的哈希值(Hash Code)中前8至10个字符。 这个命令会使<HEAD>指针脱离(detach),可以让你在不检出(check out)任何分支的情况下查看代码——脱离HEAD并不像听上去那么可怕。如果你想在这种情况下提交修改,你可以通过创建新的分支来实现:
$ git checkout -b <SHA>

要想回到当前的工作进度,只需要检出(check out)你之前所在的分支即可。

你可以关注Stack Overflow网站上的这条问答, 获取更多详情。

5. 撤销合并(Merge)

要想撤销合并,你可能必须要使用恢复命令(HARD RESET)回到上一次提交的状态。“合并”所做的工作基本上就是重置索引,更新working tree(工作树)中的不同文件,即当前提交()代码中与HEAD游标所指向代码之间的不同文件;但是合并会保留索引与working tree之间的差异部分(例如那些没有被追踪的修改)。
$ git checkout -b <SHA>

当然,Git中总是有其他的实现办法,你可以查看看这篇文章继续了解。

6. 从当前Git分支移除未追踪的本地文件

假设你凑巧有一些未被追踪的文件(因为不再需要它们),不想每次使用git status命令时让它们显示出来。下面是解决这个问题的一些方法:
$ git clean -f -n         # 1
$ git clean -f            # 2
$ git clean -fd           # 3
$ git clean -fX           # 4
$ git clean -fx           # 5

(1): 选项-n将显示执行(2)时将会移除哪些文件。
(2): 该命令会移除所有命令(1)中显示的文件。
(3): 如果你还想移除文件件,请使用选项-d。
(4): 如果你只想移除已被忽略的文件,请使用选项-X。
(5): 如果你想移除已被忽略和未被忽略的文件,请使用选项-x。
请注意最后两个命令中X的区别。

更多详情,请查看官方文档中关于git-clean的介绍



7. 删除本地和远程Git分支

删除本地分支:
$ git branch --delete --force <branchName>

或者使用选项-D作为简写:
$ git branch -D

删除远程分支:
$ git push origin --delete <branchName>

建议:要想更好地掌握Git的用法,请仔细阅读Git官方文档。

转自:编程派
  • 大小: 56.8 KB
  • 大小: 61.1 KB
  • 大小: 58.4 KB
来自: 编程派
1
3
评论 共 1 条 请登录后发表评论
1 楼 simen_net 2015-12-09 16:42
最无法忽略的就是:总有人干坏事,你必须时刻准备着去处理他们

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 去除驱动安装数字签名的终极解决方案------适用win2000,winxp,win2003

    主要有两种方法: 一、向”签署驱动程序“对话框发送模拟消息,使之置于”忽略“位置。 本代码修正了LIUTANG大牛代码”2003-01-28_如何去掉xp下的数字签名.rar“ 1、uDriverSigningButtonID在XP、2003中与2000中并不一致 2、上述代码使用MFC库,造成执行文件过大的问题,修正代码中消息模拟全部用Windows API实现 二、修改注册表的方法 1、windows 2000 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Driver Signing\Policy (键值改为0) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Non-Driver Signing\Policy (键值改为0) HKEY_CURRENT_USER\SOFTWARE\Microsoft\Driver Signing\Policy (键值改为0) 2、windows XP及Windows

  • win7驱动程序未经签名可以使用吗_win7系统怎么禁用驱动程序签名强制

    我们都知道win7系统是一个比较路安定的系统,也是很多人在使用的一款系统,当我们在win7系统当中安装驱动程序的时候,对安装的驱动程序需要数字签名,不然驱动程序将无法安装和使用,那么win7系统怎么禁用驱动程序签名强制呢?今天为大家分享win7系统禁用驱动程序签名强制的操作方法。禁用驱动程序签名强制操作方法:1、开始 - 运行(输入gpedit.msc)- 确定或者回车。打开本地组策略编辑器;如图...

  • Win11电脑解决 Windows无法验证此设备所需的驱动程序的数字签名

    8、进入启动设置界面,有9个不同的选项,我们是进入安全模式,按一下键盘上的F7 1=F1 2=F2 以此类推。6、进入高级选项,里面有系统修复、启动修复、命令提示符、启动设置等,我们选择“启动设置”3、打开更新和安全,左侧的“修复”,点击高级启动中的“立即重启”按钮。2、疑难解答--》启动--》f7 禁用未签名强制验证。7、进入启动设置界面,点击“重启”按钮,重启计算机。2、打开进入设置界面,找到里面的“更新和安全”4、系统自动进入安全操作界面,选择“疑难解答”5、进入疑难解答,选择“高级选项”

  • 安装windows10操作报错:找不到签名的设备驱动程序

    这里写自定义目录标题在安装windows 10操作系统时报错 在安装windows 10操作系统时报错 在安装windows10操作系统时报错找不到签名的驱动设备程序 PC:DELL Latitude 3400 准备安装的操作系统:WINDOWS 10专业版 做如下步骤解决: 1.在设备的背面找到设备的快速服务代码或者服务编号,如下图 https://www.dell.com/support/home/zh-cn 2.登录戴尔技术支持网站:https://www.dell.com/support/home/

  • 笔记本电脑由未签名驱动导致的键鼠装无法使用的问题 usb 问题失效的解决办法

    我把电脑强制关机后再开机USB接口就用不了,无线鼠标、U盘都无法使用,这个问题一天遇到两次,百度了好久以为是我自己把USB驱动给删了,但其实不是。为了使我以后能更快解决这个问题,想记录对我电脑有用的一些方法。 首先,先看一下设备管理器里面的通用串行总线控制器,当出现问题的时候,图中的位置会有黄色感叹号出现,qt ...

  • Windows驱动开发入门指引

    1. 前言 因工作上项目的需要,笔者需要做驱动相关的开发,之前并没有接触过相关的知识,折腾一段时间下来,功能如需实现了,也积累了一些经验和看法,所以在此做番总结。 对于驱动开发的开发指引,微软官方文档网站已经提供了很详细的教程文档,并且在Github上提供了一系列典型的例程源码用于开发人员参考。开发人员在具备一定的驱动概念知识后,通过参考官方例程可以很容易实现拥有特定功能的驱动应用程序。 Windows驱动程序入门:Windows 驱动程序入门 - Windows drivers | Micros..

  • 无法验证驱动程序的签名_无法安装最新版NVIDIA显卡驱动,从技术角度该怎么办?...

    一定会有众多网友,饱受无法更新NVIDIA驱动的困扰;你们一定也很奇怪,我凭实力从正规渠道购买的NVIDIA板卡,凭什么无法及时安装NVIDIA官网提供的驱动程序呢?因为无法更新到413以后的版本,一定也有众多因驱动程序“过时”而被《战地五》拒之毫厘的游戏玩家吧?根本原因:1,NVIDIA数字签名未通过驱动审核,2,NVIDIA硬件未通过驱动数字检测处理思路:1,关闭驱动强制验证数字签名功能2,修...

  • 关于Windows 10驱动无法使用,无法验证设备所需的驱动程序的数字签名问题

    在通过一些渠道安装某一硬件驱动之后,可能会存在无法使用的问题,首先打开我的电脑右键→属性→设备管理器,在下载驱动的硬件下方找到是否已经安装了此驱动。 如果已安装,看驱动左下角是否有感叹号,若有,那么右键→属性,看设备状态,图中是正常情况。 如果出现“无法验证设备所需的驱动程序的数字签名问题阿巴阿巴。。。”打开设置→更新与安全→恢复→高级启动jiantou ...

  • USB驱动问题解决方案

    USB驱动错误解决方法

  • 载入未签名的驱动程序在Windows 7和Vista 64位(x64)

    为感谢所有的意见,现在我知道,有黑客,可以使Windows 32位“地址/承认”以上的内存4GB,但您仍无法使用它。 To be able to fully utilize more than 4GB, you will still need a 64-bit of Windows.为了能充分利用超过4GB的,你仍然需要一个64位的Windows。 Most common problem that

  • 在windows7,windows8 64位操作下5种方法加载未签名的驱动程序

    Option 4 This method is a another command that uses the BCDEdit utility similar to the now redundant DDISABLE_INTEGRITY_CHECKS, but this is known to be more reliable. Open a Command Prompt in Admin

  • win7驱动程序未经签名可以使用吗_win7系统驱动强制数字签名的问题

    和大家分享具体方法如下:1、在win7 64位系统上,安装某些驱动程序无法成功时,考虑禁用数字签名,重新启动计算机;这是与XP系统不同的地方,XP系统没有这个功能,不用考虑禁用数字签名;2、在电脑启动的过程中,不用等到进去输入用户登陆框,按键盘上面的按键F8,就会出现系统启动项,供我们进行选择;3、然后选择,禁用数字签名,启动电脑,数字签名被禁用后,驱动就能成功安装了。但是重启电脑之后,设置又会恢...

  • 服务器装系统提示未找到任何驱动器,u盘装系统win7显示未找到任何驱动器怎么办?未找到任何驱动器解决步骤...

    有小伙伴用ghost重装win7系统不太顺利,反映点击“现在安装”的按钮,却弹出一个警告提示窗口:“未找到签名的设备驱动程序。确保安装介质包含正确的驱动程序,然后单击确定。“这是怎么回事呢?下面一起来看看u盘装系统win7显示未找到任何驱动器怎么办。步骤一:重新拔插usb口首先考虑是usb接口出现问题,造成了找不到驱动器设备驱动程序。这时候重新拔插一下u盘试试。步骤二:接入另一个usb接口如果尝试...

  • Windows下如何禁用数字签名

    发现Windows操作系统在启用数字签名的情况下部分外接设备的驱动无法安装,设备无法使用,可以考虑通过禁用数字签名的方式来让我们的驱动能够安装成功 Windows+x,以管理员打开命令提示符(cmd),执行以下命令,看到提示操作成功完成,重新启动电脑,即永久关闭了数字签名验证 bcdedit.exe -set loadoptions DDISABLE_INTEGRITY_CHECKS 如果想再...

  • 解决ubantu16.04里面由python3.5升级到python3.6报错Unable to locate package python3.6

    报错如下: Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package python3.6 E: Couldn't find any package by glob 'python3.6' E: Couldn't find any package by regex 'python3.6' 使用的ppa是旧版本: sud

  • 使用U盘安装windows系统时提示找不到任何设备驱动程序

    问题截图: 解决办法: 1、在出现安装界面时不要点击“现在安装”,而应该点“修复计算机”。如下图。 2、然后打开命令控制行,输入setup.exe后回车, 就可以继续安装了。

  • 如何在 Windows XP 安装未签名的设备驱动程序

    当我们在增加一个新设备时,通过驱动精灵下载驱动安装提示未签名设备鸡翅程序时,刚可以使用此方法解决。

  • Win7/Win8无数字签名驱动无法安装

    在在64 bit Win 7/ Win 8下自己写了个驱动,但安装总是error。原来是因为Win 7 / Win 8中默认情况下无法安装无数字签名的驱动,需要手动取消数字签名验证。使用如下方式打开或者关闭: 1. 以administrator权限运行cmd.exe 找到cmd.exe,建立桌面快捷方式,然后右键,选择“run as administrator” 2. 执行bcdedit命令

Global site tag (gtag.js) - Google Analytics