阅读更多

1顶
3踩

开源软件

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

2015-11-27 15:40 by 副主编 mengyidan1988 评论(1) 有7100人浏览
与其他技术相比,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)- 确定或者回车。打开本地组策略编辑器;如图...

  • 找不到签名的设备驱动程序 请确保安装介质_NVMe硬盘无法安装win7怎么办|安装win7找不到nvme硬盘解决方法...

    现在很多固态硬盘采用的是NVMe新协议,如果安装win7系统,往往会找不到硬盘,在选择硬盘界面是空白,找不到这个nvme硬盘,因为win7系统没有集成nvme驱动,所以这种情况下nvme硬盘无法安装win7系统。这边系统城小编跟大家介绍安装win7系统找不到nvme固态硬盘的解决方法。一、准备Win7系统安装介质(安装U盘)1、安装介质需要加入USB3.0驱动,点击此处查看方法2、以Samsung...

  • Win7系统解决未签名驱动程序安装问题

    win7虚拟网卡提示警告,已签名驱动程序安装后提示“Windows无法验证此设备所需驱动程序数字签名”的原因和解决方法

  • 安装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 xp安装驱动时提示驱动未通过微软数字签名

    因windows加密服务出错造成 症状 在尝试下载 ActiveX 控件、安装 Windows 或 Windows 组件的更新、安装 Windows 或 Windows 组件的 Service Pack、或者安装 Microsoft 或第三方软件程序时,可能会遇到以下一种或多种症状: 尝试安装程序或更新时,可能会收到以下错误消息: Digital Si...

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

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

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

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

  • 求助各位大神:Android Studio安装过程中的问题,intel HAXM installer驱动未签名,无法正常工作问题导致/dev/kvm is not found

    各位大神,    你们好!今天安装Android Studio过程中遇到以下问题:android Studio版本是3.0.1,android SDK是之前下载好的已经高达200G的大小了。安装完之后,就是更改SDK的路径。创建工程,构建工具完成之后,点击AVD,会出现/dev/kvm is not found.搜索网上的各种解决方案,并尝试,都没有解决问题。包括重新安装intel HAXM。安装...

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

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

  • win10 系统安装 问题 -- 找不到签名的设备驱动程序-- (记录)

    使用软碟通制作的系统盘 以及RUFUS制作的系统盘 安装的系统都是纯净的 但是偶然一次重装,却发现了如下问题: 重点是一直都没有得到解决,后来向laomaotao、DaBaiCai等装机工具妥协,安装了很不干净的系统。 然而,昨天又要重装了,偶然的机会 下了一个驱动: 英特尔® RST 驱动程序文件(适用于 10.1 版) -​ 按 F6 安装(64 位) http:/...

  • 如何查看tomcat是否安装成功_win7系统提示未能成功安装设备驱动程序如何解决【详解】...

      最近有位win7系统用户使用电脑连接打印机之后,系统出现提示:未能成功安装设备驱动程序,用户不知道这是什么原因导致的,更不知道应该怎么解决这个问题,那么win7系统提示未能成功安装设备驱动程序怎么办呢?今天为大家分享win7系统提示未能成功安装设备驱动程序的解决方法。  未能成功安装设备驱动程序解决方法:  1.在桌面上点击【计算机】右键,选择【管理】,再选择【设备管理器】。如图所示:  2....

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

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

  • Windows下如何禁用数字签名

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

  • 驱动安装失败未签名(解决办法)绝对可行

    驱动安装失败未签名(解决办法)绝对,可行驱动安装失败未签名(解决办法)绝对可行 驱动安装失败未签名(解决办法)绝对,可行驱动安装失败未签名(解决办法)绝对可行

  • win7系统安装时提示找不到任何设备驱动程序的四种解决方法图文教程

    有位用户说在安装ghost win7系统提示“找不到任何设备驱动程序”,遇到这样问题该怎么解决?导致安装win7系统提示“找不到任何设备驱动程序”的原因有很多,大家最为关键就是找到原因,然后在根据故障原因解决问题。下面脚本之家的小编为大家总结出安装win7系统提示“找不到任何设备驱动程序”四种解决方法。   解决方法一:重插下usb口试试   造成“找不到驱动器设备驱动

  • 解决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后回车, 就可以继续安装了。

Global site tag (gtag.js) - Google Analytics