zoukankan      html  css  js  c++  java
  • Git管理修正(取消跟踪、合并commit)

    本文总结了最近使用Git时候遇到的两个问题:
    1. 当将不必要跟踪的文件加入到仓库后如何处理?
    2. 提交了多个功能相同的commit后如何处理?

    总结经验

    1. 在创建仓库的一开始,就要设置号.gitignore文件,用于过滤掉不需要跟踪的文件和文件夹
    2. 谨慎提交commit,确保每个commit中所有的改动都是跟同一个任务相关的。

    我是怎么解决上述两个问题的

    1. 移除对文件/文件夹的跟踪,但不删除

    • 使用命令git rm --cached ignore_target_file 删除对某个文件的跟踪
    • 新建.gitignore文件,使用下列规则添加要忽略的文件或者文件
      • 所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
      • 可以使用标准的 glob 模式匹配。
      • 匹配模式最后跟反斜杠(/)说明要忽略的是目录
    • 举例,我的.gitignore文件内容如下
    # 忽略.gitignore文件
    .gitignore
    # 忽略.idea/文件夹
    .idea/
    # 忽略target/文件夹
    target/

    执行移除,新建.gitignore文件之后,再次git status就可以看到,这些讨厌的多余文件已经不被跟踪了。什么样的文件需要被忽略?编译生成的文件夹,如target目录;机器自动生成的,我们不会手动修改的隐藏文件,如.idea目录;中间文件,例如java项目中的.class文件。

    2. 合并多个相似的commit

    • git rebase -i HEAD~4
    • 将除了第一行(最老的那个commit)之外的行首的pick全部换成squash
    • :wq保存并推出
    • 修改最新的commit message即可

    参考资料

    1. Git基础–记录每次更新到仓库
    2. Git使用规范流程
    3. Git常用配置
  • 相关阅读:
    802.11标准及无线网运行模式
    linux中top命令使用及查看tcp连接
    DNS信息收集命令nslookup
    Openvas安装
    nc高级应用
    poj 1411 Calling Extraterrestrial Intelligence Again(超时)
    poj 1046 Color Me Less
    1215 迷宫
    2666 Accept Ratio(打表AC)
    2021 中庸之道
  • 原文地址:https://www.cnblogs.com/javaadu/p/11742623.html
Copyright © 2011-2022 走看看