关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »七个你必须重视的 Git 使用技巧

    七个你必须重视的 Git 使用技巧

    2015-11-30 00:00:00 出处:linux.cn
    分享

    与其他技术相比,Git应该拯救了更多开发人员的饭碗。只要你经常使用Git保存自己的工作,你就一直有机会可以将代码退回到之前的状态,因此就可以挽回那些你深夜里迷迷糊糊犯下的错误。

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

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

    七个你无法忽视的 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指针后移到此前的一次提交,之后你才能移动文件或作必要的修改。

    然后你就可以添加所有的修改,而且当你执行最后的命令时,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官方文档。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    抖音安全与信任开放日:揭秘推荐算法,告别单一标签依赖

    ultraedit编辑器打开文件时,总是提示是否转换为DOS格式,如何关闭?

    Cornell大神Kleinberg的经典教材《算法设计》是最好入门的算法教材

    从 Microsoft 下载中心安装 Windows 7 SP1 和 Windows Server 2008 R2 SP1 之前要执行的步骤

    Llama 2基于UCloud UK8S的创新应用

    火山引擎DataTester:如何使用A/B测试优化全域营销效果

    腾讯云、移动云继阿里云降价后宣布大幅度降价

    字节跳动数据平台论文被ICDE2023国际顶会收录,将通过火山引擎开放相关成果

    这个话题被围观超10000次,火山引擎VeDI如此解答

    误删库怎么办?火山引擎DataLeap“3招”守护数据安全

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术热点

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。