git 能配置自动跟踪目录内的文件吗?

2019-01-21 12:33:28 +08:00
 frylkrttj

比如我想 git 跟踪目录内所有文件,在修改多个文件后只需要 git commit 一次就行了。

现在每次 git commit 前都要用 git add 添加下文件,太烦了吧。还要先 git status 查看下修改了哪些文件,又添加了几个文件。

又比如自动跟踪已 git add 过的文件,防止修改文件名后忘了 push 那个文件。

我刚开始学 git 遇到的问题有点多。

目前还不知道怎么查看仓库内的文件,百度找了半天没找到我要得。

6299 次点击
所在节点    git
69 条回复
ynyounuo
2019-01-22 02:55:46 +08:00
如果你的工作流只是
git add .
git commit -m "{some_useless_info}"
git push

那你基本就是在浪费时间骗自己在用 git 而已
建议 rm -rm .git/ 一劳永逸
ynyounuo
2019-01-22 02:56:10 +08:00
rf*
SharkIng
2019-01-22 06:07:48 +08:00
初学者这样用倒是可以,我以前也这么用,但是的确像楼上说的问题很多。当你真正做项目后,或者在公司里用的时候就会明白这样不行的。所以刚开始养好习惯比较好,不要怕麻烦。
frylkrttj
2019-01-22 07:39:44 +08:00
@ynyounuo #41 现在学的能用的只有这三步了,你说说其他应用场景呗。
frylkrttj
2019-01-22 07:45:17 +08:00
#25 @des 没百度到 git -k 相关的
Wolther47
2019-01-22 07:49:14 +08:00
@frylkrttj #45 他说的可能是 IDE 里面的快捷键
Wolther47
2019-01-22 07:55:45 +08:00
我觉的楼上有几位言过了,一开始用 git,还是先以熟悉为目的,反正也不是非常重要的代码,翻车了才能更好的记住(
hakono
2019-01-22 08:35:59 +08:00
嘻嘻,等楼主开发程序后,试着多用几次 git add *就会发现,咦,这次把一堆不在 ignore 名单里的临时文件提交了。
下次:卧槽把刚刚创建的带服务器帐号密码的配置文件一并提交 push 到 github 了。
然后楼主开始想着怎么回滚,怎么操作远程仓库,然后学会了
git push --force
然后把推送的坑也踩了一遍 233
james2013
2019-01-22 08:38:45 +08:00
直接用图形化工具 TortoiseGit.
丰富的功能,直接用鼠标点击就可以了.
1 个命令也不需要输入.
dajj
2019-01-22 08:55:20 +08:00
脚本。。。
des
2019-01-22 08:59:42 +08:00
@hakono
多添加了的 reset 回来就好了,文件多的话我也这样,不过不是 add . 而是 add path
开始不熟,踩几次坑就会长记性了
hakono
2019-01-22 09:14:01 +08:00
@des
主要很无脑 add 的话,多时候都是 add commit push 三件套
然后回过头就才发现远程仓库已经塞入了多余的文件,
这时候操作远程对新手就是个大坑了,然后这时候通过各方百度,很大几率会学会 git rest --hard 和 git push --force 这两个命令。
ElfenSterben
2019-01-22 09:25:52 +08:00
你把 gitignore 配置好然后 git add . 有什么问题么?
flyingghost
2019-01-22 09:36:15 +08:00
新手学习过程中看不到风险很正常。提出优化建议起码证明 lz 进一步思考了。

但 git 不这样设计不是因为 git 蠢,而是因为这样设计是错的:误提交实在是太多太多了。。。

亲身经历过同事误把 密钥.java.bak 提交进仓库,打包,发布,被竞争对手反编译,获取到公司通用算法和我部门密钥,暗搓搓上线我司在线服务的破解版,然后全部门在过年前一天飞机火车汽车逆流回司加班的壮丽事件。
日常岁月静好的代码仓库,也时不时会出现不应当提交的文件。所以需要 code review,需要服务端 commit 钩子,需要定期检查清理。

单就文件的尺度来说,git/svn 是允许你整体提交的,也就是说你无需手动一个个变更点看过来,一把梭提交整个文件。是不是和“提交整个目录”很像?所以 git 不是没想到,而是在方便和危险之间找到了平衡:文件粒度。
但我要求的最佳实践,依然是提交的时候检查精确到行,每个变更都确认需要提交。(你看我没有要求精确到字符已经很人性化很方便啦!)
liu19931020
2019-01-22 10:12:17 +08:00
vscode+1
frylkrttj
2019-01-22 10:16:38 +08:00
@hakono #47 哈哈
@ElfenSterben #53 似乎看穿了我下一步准备干什么
@flyingghost #54 感谢掏心窝的回复
xxgirl2
2019-01-22 10:31:59 +08:00
先 status,然后 diff,检查文件、格式、修改无误后,再 add。
omph
2019-01-22 10:37:31 +08:00
自己写个驻留程序 daemon,监控目录中文件变动,自动添加即可。当然最好支持过滤功能
libook
2019-01-22 10:37:59 +08:00
用 Git 养成好习惯是头等重要的,用时的一点点麻烦,是为了避免解决问题时的恶心。

“自动跟踪”坑很多,比如提交了并不想提交的文件(临时测试修改的代码等),以后用用就知道还是老老实实 diff 再 add 最稳妥,版本控制工具使用来可靠控制代码版本的,不应该是累赘,觉得用起来很麻烦真不如不用。

团队合作使用 git commit -a 和 git push --force 等指令,会被人打死。
omph
2019-01-22 10:39:41 +08:00
和通知功能

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/529069

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX