代码管理以前用 svn,现在用 git,还有其他的吗?还有更好的吗?开发一个 git 需要哪些方面的知识?

2021-06-29 21:01:07 +08:00
 piqizhu8

我现在写好代码后,每次都会用 git 提交到服务器, 有时候 想撤销, 或者在不同历史之间来回跳转,

我发现用 git 实现这个需求很复杂,

所以就提了这个问题

谢谢

2506 次点击
所在节点    问与答
29 条回复
ysc3839
2021-06-29 21:06:57 +08:00
很复杂吗?用 git gui,菜单 visualize all branch history,找到你要跳转到的 commit,右键 reset branch to here 。
aheadlead
2021-06-29 21:13:24 +08:00
撤销:git revert
不同历史之间来回跳转: git checkout
CEBBCAT
2021-06-29 21:17:26 +08:00
SVN/Git 这种软件叫做 version control system,你可以在维基百科上看到更多信息: https://en.wikipedia.org/wiki/Comparison_of_version-control_software#History_and_adoption

但我想就像那句“很多人还没到拼天赋的阶段”一样,可能是你用得还不全。你可以配合 CI/CD,以及 git tag 来用。
NotFoundEgg
2021-06-29 21:29:30 +08:00
可以用 gui 搭配命令行使用 推荐一个 Sourcetree
thunderw
2021-06-29 21:53:10 +08:00
这种日常需求,自己开发一个,不如钻研一下工具怎么用。
开发的工作量的大的超乎你的想象。
aheadlead
2021-06-29 21:59:28 +08:00
基操勿六。。
aheadlead
2021-06-29 21:59:37 +08:00
基操勿❤️
DonkeyBenjamin
2021-06-29 22:04:14 +08:00
[pijul]( https://github.com/jneem/pijul), 有论文证明其正确性。
ampedee
2021-06-29 22:17:58 +08:00
如果觉得光记命令复杂,推荐看看 git 的底层原理。底层原理其实非常简洁,有很多相关的资料,我还写过一篇博客粗浅地介绍了一下: https://www.waynerv.com/posts/git-undo-intro/
IgniteWhite
2021-06-29 22:27:00 +08:00
不会用 Git,因为我不熟悉 VCS 的用法,所以要学习如何用 Git ❌
不会用 Git,但我熟悉 VCS 的所有原理,我自己写一个 VCS ❌
不会用 Git,我觉得 VCS 的基本操作好复杂,我自己写一个 VCS ✅

网友:???
falcon05
2021-06-30 00:29:37 +08:00
开发一个 git ?
我看好你…
msg7086
2021-06-30 03:28:32 +08:00
Git 不复杂。

代码管理工具,说白了和你大学里写的什么学生管理系统,是差不多的东西。
本质上是把所有代码的变更保存在一个数据库里,然后 CRUD 。
学生管理系统,有班级有学生有老师。
代码管理系统,有提交有文件有分支。
创建提交就是新建数据库记录。取 diff 就是找两条数据记录,找到文件然后计算差异。
(或者直接存取文件差异,然后计算文件结果。)

自己开发一个类似 Git 的 VCS 不算很难。
如果你想要练手,当然可以自己写一个。
写完以后你应该就会搞懂 Git 了。

重新实现一套软件可能是理解软件工作原理最好的方式之一了。
henryhu
2021-06-30 08:30:20 +08:00
git 是复杂的,因为精细管理开发协作是复杂的
TomVista
2021-06-30 08:51:25 +08:00
git clone
git pull
git push
git checkout
git branch
git reset

剩下的百度,解决不了,社区找老哥.一共 6 个 不难学吧.
shuxhan
2021-06-30 09:46:28 +08:00
@TomVista 这几个指令能满足 95%的需求
wms
2021-06-30 10:00:17 +08:00
@TomVista
git stash
git diff
还差这两个比较重要的
wangkun025
2021-06-30 10:02:39 +08:00
我都是 git log,然后 git reset --hard log_number
ijse
2021-06-30 10:12:14 +08:00
fossil-scm 不错,sqlite 作者写的,结合了 svn 和 git 的优点
TomVista
2021-06-30 10:17:02 +08:00
@wms 没用过,补课补课
TomVista
2021-06-30 10:18:04 +08:00
@TomVista #14
加一个 git commit

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

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

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

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

© 2021 V2EX