mq-life 发表于 2014-5-16 22:36:13

[分享]让Git像SVN一样好用+多电脑同步

本帖最后由 FSL_TICS_ZJJ 于 2014-6-4 13:26 编辑

一直都是用命令行,到今天才发现原来借助TortoiseGit可使Git像SVN一样好用。
下面是右击菜单,看一眼就知道有多好用了吧。

安装也很简单,使用默认值装上Git和TortoiseGit就可以了,再装个中文语言包就能像图片中的菜单一样。

多电脑同步
我的工作会涉及多台电脑:
公司台式机,无网络
公司笔记本
家中电脑,硬盘A和备份硬盘B
工作流如图:

硬盘B上存放纯净的Git库,其它电脑及硬盘A上都是带工作区的库,会经常改动或删除。
家中台式机创建家庭组,其它电脑需要密码才能加入。并且家中路由设置了MAC过滤,再加上win7、win8家庭组自带的加密,安全性问题足够了。
这种方式解决了以前遇到的许多问题:
1. 离开库,SVN无法工作。
    以前用SVN在公司没办法看日志,修改文件也没办法进行版本控制,最后一天就一个版本,中间修改内容无法记录。
    曾用U盘随身携带过SVN库,每天都要在几台电脑间拷贝,文件体积又大,很不方便。
2. TortoiseGit中文支持相当不错,易用性与SVN一样。
3. 网盘同步速度慢。
4. 无网络的那台电脑更新数据后只需要生成体积很小的补丁,拷盘速度太快。

这些软件具体使用方法都很简单,这里就贴个简单的思路。

channe 发表于 2014-5-16 22:44:18

看把孩子忙的。
去买个 3G 网卡吧。

mowin 发表于 2014-5-16 22:52:08

好贴。学习了

mq-life 发表于 2014-5-16 22:54:38

channe 发表于 2014-5-16 22:44
看把孩子忙的。
去买个 3G 网卡吧。

车间里电脑不准上网,这里也不是专门为了那台无网络电脑才这样搞的。生成补丁小也方便同事间传递。
SVN也可以生成补丁,不过SVN离了库就没法工作,所以补丁也没意义。
这种模式刚用两天,明显感觉比前的各种方式方便,数据应该比以前的更安全。大家有更好的方式也方便交流。

mowin 发表于 2014-5-16 22:58:50

这种东西,用得到的人会觉得非常好用,用不到的人永远都会嫌复杂。楼主淡定

祥子 发表于 2014-5-16 23:31:29

这个方法还是比较不错的

wangpengcheng 发表于 2014-5-17 00:27:39

以前公司用过,很好用,还可以保存备份

含情别问我 发表于 2014-5-17 00:38:39

看似很不错,我用的是SVN加金山网盘,感觉也不错。不过貌似你这个好像更好,回头试下

FSL_FAE_River 发表于 2014-5-17 00:58:31

谢谢分享阿~~~~~

kanprin 发表于 2014-5-17 01:19:49

TortoiseGit一直都在用,不过都是用来做本机的管理,没想通怎么在宿舍建库,在公司同步提交,麻烦楼主教一下,谢谢。
注:宿舍为adsl。

nongxiaoming 发表于 2014-5-17 01:46:45

不是一样好用,是比svn要好用。

elecboy 发表于 2014-5-17 05:30:58

作为pythonNC粉,我用mercurial,之前用过git,感觉不如mercurial简洁好用。

mq-life 发表于 2014-5-17 07:11:37

kanprin 发表于 2014-5-17 01:19
TortoiseGit一直都在用,不过都是用来做本机的管理,没想通怎么在宿舍建库,在公司同步提交,麻烦楼主教一 ...

是想通过网络访问宿舍电脑吗?这样没搞过,建议通过花生壳固定宿舍电脑的ip,这样外网才能找到你的电脑。

zhzj2007 发表于 2014-5-17 08:07:31

学习            

enovo2468 发表于 2014-5-17 11:23:07

可以试试,我被几台电脑的文件搞晕了

elecboy 发表于 2014-5-17 16:30:25

cc2666 发表于 2014-5-17 11:29
就一个问题,可以通过广域网访问和提交吗。或者服务器在家里。在外面能不能push/pull,都有网 ...

如果需要广域网络访问,不如到bitbucket注册个账号用,比github好的地方在于私有库也不收费,仅仅是有5人访问的限制,对于个人或小公司够了。

zgxcom123 发表于 2014-5-18 15:41:47

乌龟系列的两款软件还是很不错的…………

只是Great F**king Wall经常不给力

gwnpeter 发表于 2014-5-18 16:12:10

我都是用的http://www.sourcetreeapp.com/ 这个软件,git和mercurial都支持,也有中文界面,个人感觉比TortoiseGit好用100倍
托管用的是https://bitbucket.org/git和mercurial都支持,而且免费版支持5用户,还支持私有化。比github之类的好多了。
用了很久了,都没有被墙过,虽然速度慢点

笑笑我笑了 发表于 2014-5-18 16:55:29

问一下这种情况该如何操作。

                  C------------E
                   /
               /
A------------B-------------D

现在想把E合并到D该怎么办?

mmiker 发表于 2014-5-18 16:57:17

谢谢,一直用的SVN,试试GIT和MERCURIAL

dr2001 发表于 2014-5-18 17:15:35

本帖最后由 dr2001 于 2014-5-18 17:29 编辑

所有需要同步的库直接配多Remote,用Push/Pull/Fetch同步就行了,非常简单。
这种方法保证每一个介质上保存的都是完整的、一致的版本库历史(如果没同步的话,最新的当然没有);同时,只保存配置了的分支,不影响本地开分支进行测试。

使用Patch的方法在Git里并不是库同步用的,因为每个Commit的提交者,时间,etc都要参与Hash,Patch出来的版本库历史是不一样的。

fiddly 发表于 2014-5-18 17:23:00

版本控制,马克下,用的上哈,代码目前还是初级阶段!

dr2001 发表于 2014-5-18 17:23:13

笑笑我笑了 发表于 2014-5-18 16:55
问一下这种情况该如何操作。

                  C------------E


看开发模式:
1、直接合并特性分支,Checkout Commit D,但后Merge Commit E就行了。
2、另外一个是在E分支上Rebase到D,把从B的系列开发变成从D开始的系列开发。

最终的提交历史不太一样。

mq-life 发表于 2014-5-18 17:27:10

笑笑我笑了 发表于 2014-5-18 16:55
问一下这种情况该如何操作。

                  C------------E


参考22楼,可用多remote,同时push到多个库

zndz410 发表于 2014-5-18 20:27:23

谢谢分亨,支持下.

rockyyangyang 发表于 2014-9-5 14:59:58

谢谢分享,mark      

lyping1987 发表于 2014-9-5 15:36:35

git中文路径无法完美的情况,大家遇到过没。

dongyanbo 发表于 2014-9-5 15:40:29

长知识了

lubing521 发表于 2014-11-11 23:20:48

很好,非常感谢分享

freefei 发表于 2014-11-13 16:14:57

哇,这个要好好学习一下了

fish47 发表于 2014-11-13 16:22:39

之前看过别人用dropbox做git仓库的,如果没有重要机密的内容,可以尝试一下。

dswkl11 发表于 2014-11-13 17:12:41

其实 都还不是很习惯用git

dswkl11 发表于 2014-11-13 17:13:08

其实 都还不是很习惯用git

richie550 发表于 2014-11-13 17:19:32

主要还是使用习惯

cece_co 发表于 2014-11-13 17:25:54

mark 下,也在用这个,建议楼主还是用英文的吧

bbstr 发表于 2014-11-13 17:31:46

用git,最好还是用命令行比较好点,这样哪里出点问题都比较清楚

mq-life 发表于 2014-11-13 20:01:01

bbstr 发表于 2014-11-13 17:31
用git,最好还是用命令行比较好点,这样哪里出点问题都比较清楚

目前还没必要,只做简单的版本控制,到现在没有问题,中文也完善支持。

zjsx133 发表于 2014-11-14 09:58:53

没用过,有机会试试

javabean 发表于 2014-11-14 12:44:10

如果能有共用的服务器,而且网速不是问题,SVN最佳,不管是历史维护,分支的统一处理,git在没有中心服务器的时候较为方便,不过还是需要一定的技术基础。

mq-life 发表于 2014-11-14 13:47:28

javabean 发表于 2014-11-14 12:44
如果能有共用的服务器,而且网速不是问题,SVN最佳,不管是历史维护,分支的统一处理,git在没有中心服务器 ...

的确是,公司用比较适合用SVN,最近正准备用,但是离开服务器无法在本地查看日志等,请问有没有方法解决,如果定期备份服务器数据到本地能解决也行

javabean 发表于 2014-11-14 14:06:55

mq-life 发表于 2014-11-14 13:47
的确是,公司用比较适合用SVN,最近正准备用,但是离开服务器无法在本地查看日志等,请问有没有方法解决 ...

SVN集中使用确实简单,但是一定要有网,而且网一定要快,否则就哭吧,公司开放一下VPN,在家在外拨到公司就ok
git搞分支成本很低,特别是对于各地投产的项目根据需求做不同的功能,修改了bug最后合并到主线,都非常非常方便
最后,千万不要现场写程序,改代码,麻烦

DevLabs 发表于 2014-11-14 14:54:06

git for win 命令行下无法输入中文,debian就可以,网上的方法试了不行,LZ知道怎么解决吗?

holts2 发表于 2014-11-14 15:27:33

这也太复炸了,没看懂如何同步的

jiwx2011 发表于 2014-11-14 17:40:05

绝对的好东西啊

liurangzhou 发表于 2014-11-14 19:09:16

elecboy 发表于 2014-5-17 05:30
作为pythonNC粉,我用mercurial,之前用过git,感觉不如mercurial简洁好用。

是的,git的分支真郁闷,clone出来之后还产生了一个新分支

dr2001 发表于 2014-11-14 19:13:24

liurangzhou 发表于 2014-11-14 19:09
是的,git的分支真郁闷,clone出来之后还产生了一个新分支

Git需要用指针/对象的框架进行理解;建立分支和标签只是增加了一个锚点/指针而已;其实没有附加的操作。

Git自己约束了只有本地的分支才能Commit。带有前缀的不能commit。这样理解就很简单了。

liurangzhou 发表于 2014-11-14 19:20:00

dr2001 发表于 2014-11-14 19:13
Git需要用指针/对象的框架进行理解;建立分支和标签只是增加了一个锚点/指针而已;其实没有附加的操作。
...

可能被svn和hg固化思想了,git clone之后再修改居然不能直接commit

mq-life 发表于 2014-11-14 19:45:04

本帖最后由 mq-life 于 2014-11-14 19:50 编辑

DevLabs 发表于 2014-11-14 14:54
git for win 命令行下无法输入中文,debian就可以,网上的方法试了不行,LZ知道怎么解决吗? ...

是msysgit吗,这个在《git 权威指南》中有说明,修改苦干配置,但是会经常会出现电脑重启后不行,折腾一段时间就放弃了中文。不过现在使用TortoiseGit倒是挺好的,用的内容不多,目前只发现commit时的中文目录显示错误,其它都挺好。
具体实现方法已经忘了,解决方法主要涉及到终端显示编码、文件解析编码和文件保存编码。

baoya1 发表于 2014-11-14 20:04:30

mark一下,看来会很有用处

fengyunyu 发表于 2014-12-20 22:44:59

学习,准备用SVN

craigtao 发表于 2014-12-20 22:54:18

不知道楼主是做什么软件开发 的?开源的平台吗?好像不是嵌入式软件的吧

qs6361036 发表于 2014-12-21 00:03:03

好强大的工具 , 学习一下

mq-life 发表于 2014-12-21 10:46:10

craigtao 发表于 2014-12-20 22:54
不知道楼主是做什么软件开发 的?开源的平台吗?好像不是嵌入式软件的吧 ...

本来是做嵌入式的,不是太精,做了三年。现在做生产,新建产线,能自己做,时间也来得及的就自己上,不能的就外包,现在缺合适外包人员,每次都要花费不少精力去沟通。

craigtao 发表于 2014-12-21 11:24:07

mq-life 发表于 2014-12-21 10:46
本来是做嵌入式的,不是太精,做了三年。现在做生产,新建产线,能自己做,时间也来得及的就自己上,不能 ...

嵌入式软件也使用git托管?

holts2 发表于 2014-12-21 11:25:48

mq-life 发表于 2014-12-21 10:46
本来是做嵌入式的,不是太精,做了三年。现在做生产,新建产线,能自己做,时间也来得及的就自己上,不能 ...

你做的偏硬,和GIT软件关系不大麻

foxpro2005 发表于 2014-12-21 11:30:53

本帖最后由 foxpro2005 于 2014-12-21 11:32 编辑

不管软的,硬的, 这个软件都非常好,非常方便, 如果是在公司里面, 公司随便找一个电脑就可以做为服务器, 并且不怕任何一台电脑硬盘挂掉。
感觉比SVN好用多了。

git + TortoiseGit (图形界面) = 非常方便好用

7inspire 发表于 2014-12-21 14:13:13

思路不错,有帮助,

myxiaonia 发表于 2014-12-21 15:36:23

foxpro2005 发表于 2014-12-21 11:30
不管软的,硬的, 这个软件都非常好,非常方便, 如果是在公司里面, 公司随便找一个电脑就可以做为服务器 ...

为何tortoisesvn一个软件就搞定了,而tortoisegit却还要git配合,这不是很麻烦吗

fhslh 发表于 2014-12-21 16:01:04

mark一下,一直用svn,改天试试这个

foxpro2005 发表于 2014-12-21 17:18:42

myxiaonia 发表于 2014-12-21 15:36
为何tortoisesvn一个软件就搞定了,而tortoisegit却还要git配合,这不是很麻烦吗 ...

git比SVN简单易用, 更强大, 非常适合 软工 与 电工
只用git也是可以的, mygit windows版的本身来带有一个GUI操作界面,但相比用TortoiseGit(图形界面)这个来操作更加方便。

superrf 发表于 2014-12-21 18:20:58

现在Git很流行啊,很多SVN用户改用Git了

wuyya 发表于 2014-12-21 18:48:50

gwnpeter 发表于 2014-5-18 16:12
我都是用的http://www.sourcetreeapp.com/ 这个软件,git和mercurial都支持,也有中文界面,个人感觉比Tor ...

请教一个问题,sourcetree有没有文件改名、移动等操作?

myxiaonia 发表于 2014-12-22 08:11:28

foxpro2005 发表于 2014-12-21 17:18
git比SVN简单易用, 更强大, 非常适合 软工 与 电工
只用git也是可以的, mygit windows版的本身来带有 ...

其实我纠结的是tortoisegit没有集成git的问题,难道是代码许可证的问题?

mfketggo111 发表于 2014-12-22 08:19:43

一直在用命令行的git,挺好用的
git clone
git pull
git push
gitk
git diff
git add
git commit -m

ronghuaw 发表于 2014-12-22 08:50:43

Git很好用的,tortoisegit更无敌

Xplain 发表于 2014-12-22 09:16:07

感觉命令行的git一直都很难用,回头装一下试下

zfx19890921 发表于 2014-12-22 09:50:37

赞一个,版本控制

EngKing 发表于 2014-12-22 10:00:17

有机会搭建一个环境

gwnpeter 发表于 2014-12-23 01:10:42

wuyya 发表于 2014-12-21 18:48
请教一个问题,sourcetree有没有文件改名、移动等操作?

不懂,不过我直接改名,然后sourcetree好像都能识别出来是改了名字的

mq-life 发表于 2014-12-23 19:03:45

myxiaonia 发表于 2014-12-22 08:11
其实我纠结的是tortoisegit没有集成git的问题,难道是代码许可证的问题?

git是核心,tortoisegit是个壳,让git有个非常友好的操作界面,这样就容易理解了

L7科创 发表于 2014-12-23 20:33:12

绝对的好东西

foxpro2005 发表于 2014-12-23 21:41:49

mq-life 发表于 2014-12-23 19:03
git是核心,tortoisegit是个壳,让git有个非常友好的操作界面,这样就容易理解了 ...

呵呵, 嗯, 这个解释很到位, 相信大家应该明白了

相由心生 发表于 2014-12-23 23:25:36

本地用也爽孬孬!

myxiaonia 发表于 2014-12-23 23:34:23

foxpro2005 发表于 2014-12-23 21:41
呵呵, 嗯, 这个解释很到位, 相信大家应该明白了

其实我早也明白了,我不明白的是为何不整合在一起,tortoisesvn是整合的

湛泸骏驰 发表于 2014-12-24 08:54:37

可以弄一下 这样可以减免损失

love_zjb 发表于 2015-1-30 13:13:23

刚看到这个方法,不错受教了。

yixin1851 发表于 2015-1-30 13:29:30

gwnpeter 发表于 2014-5-18 16:12
我都是用的http://www.sourcetreeapp.com/ 这个软件,git和mercurial都支持,也有中文界面,个人感觉比Tor ...

你说的这个软件,我用的生不如死。
用一会儿老是奔溃,而且很卡。
网速也超慢。
坚持用了半年,是在难以忍受,就放弃了。

tanek 发表于 2015-1-30 13:49:30

命令加乌龟,哈哈。各有优势

wind2100 发表于 2016-3-18 10:39:32

难怪 我说GIT这么难用第一 不知道版本库在哪里,第二 不知道服务器在哪里设置,SVN 一下就知道了。
TortoiseGit就像SVN了
SVN 我一般都在本地建立版本库有时间就备份下版本库和GIT原理一样了。
SVN更亲民

308594151 发表于 2016-3-18 13:20:18

mark一下

aohu_2012 发表于 2016-7-14 18:13:16

受教了,正好最近在折腾这个
页: [1]
查看完整版本: [分享]让Git像SVN一样好用+多电脑同步