您的位置:首页 > 其它

Git管理修正(取消跟踪、合并commit)

2015-08-18 17:34 471 查看
本文总结了最近使用Git时候遇到的两个问题:

1. 当将不必要跟踪的文件加入到仓库后如何处理?

2. 提交了多个功能相同的commit后如何处理?

总结经验

在创建仓库的一开始,就要设置号.gitignore文件,用于过滤掉不需要跟踪的文件和文件夹

谨慎提交commit,确保每个commit中所有的改动都是跟同一个任务相关的。

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

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

使用命令
git rm --cached ignore_target_file
删除对某个文件的跟踪

新建.gitignore文件,使用下列规则添加要忽略的文件或者文件

所有空行或者以注释符号 # 开头的行都会被 Git 忽略。

可以使用标准的 glob 模式匹配。

匹配模式最后跟反斜杠(/)说明要忽略的是目录

举例,我的.gitignore文件内容如下

[code]# 忽略.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即可

参考资料

Git基础–记录每次更新到仓库

Git使用规范流程

Git常用配置
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: