在windows下利用Git配合Visual Studio实现版本控制

来源:互联网 发布:ami js 编辑:程序博客网 时间:2024/06/14 11:08
    虽然被vim党和emacs党鄙视,但在windows下写程序有visual studio的陪伴确实是件很爽的事情。之前每次写程序都是直接在一份源码上更新,如果需要备份则手动拷贝一整个源码文件夹。随着在实验室的代码越来越多,这种低效的管理方法显然是非常让人痛苦的。最近两个月在宜信大数据创新中心实习,终于用上了Git这个现代的版本控制。Git漂亮的commit、push、merge动作,都让人非常喜欢啊!因此决定将git带回到自己在实验室的代码中。
    可是在公司git服务器已经搭好了,mac上的git用起来又相对简单,回到windows下都有一点不太适应了。幸亏,vs2013已经集成了git,这样客户端就简单多了。再上网搜搜资料,一个在vs下可用的git控制就可用了,真是为以后的开发节省了不少时间。下面就简单介绍一下我的需求和步骤。

    需求:只有一台电脑,没有服务器,在本机上对自己实现版本控制,因此不需要进行团队合作。
    准备:scm manager、vs2013

    首先,下载scm manager(开源)。在启动前,需要先安装最新版的jre(因为这货是基于java的)。可以参考这个网址:https://bitbucket.org/sdorra/scm-manager/wiki/getting-started。搞定java后就可以启动bin/scm-server.bat。注意,一定要用管理员账户启动!!!,一切正常后进入浏览器,输入scm的网址,默认是http://localhost:8080,用户名scmadmin,密码scmadmin,进入管理界面:
可以看到我已经建立一个名为test的仓库,忽略之。。。现在可以先去users下增加你需要的用户,如果没有组的话可以先忽略groups。随后,更改general、Repository Types下的设置,比如base URL和仓库的保存目录。由于我只要用git的功能,因此,我只修改了git相关的保存路径。

好啦,万事具备,只欠东风。到Repositories下,新建仓库,输入相应信息后确认即可。这里如果建立时间太长并提示失败的话,很可能是scm启动时的权限问题,我是改成管理员启动就ok了。好,让我们建立一个test仓库。。。
服务器端就这样搞定了,是不是非常简单。。。

下面是客户端。打开vs2013的相关工程,右键解决方案,可以选择添加到源代码管理,然后选择git。切换到团队资源管理器,vs提示需要安装第三方工具,果断按照提示安装(应该就是装了git for windows)。然后就能使用啦!记得到git设置下修改一下默认的路径。
当对代码进行了更改后,使用“更改”,能够提交这部分修改,相当于git add + git commit -m,如果确认ok,在“未同步提交”里推送,就git push上去了。当然,你还能利用“分支”来新建分支。是不是很方便呢?

在第一次与服务器同步时,需要写入用户名和密码,如果万一你写错了,不好意思,我没有找到在哪里能更改的。。。解决方案是把.git删了,重新再选择使用源码控制,千万不要再错了啊。用户名密码应该是在scm中使用的那个。顺便说一句,我没搞懂怎么用scm进行权限控制,即一个用户只能访问特定的代码,不过我也不用这项功能,就暂时不管了。

如果你写错了远程仓库的地址,在.git目录下,修改config文件中的仓库地址即可。如果一直提示用户名密码错误,不嫌麻烦的话,使用命令行的git push也是可以将代码上传的。

需要指出的是,vs集成的功能还有一些薄弱,比如,我居然找不到哪里能删除分支!另外如果想要回滚貌似也不能实现。不过没有关系,vs做不了,我们自己做啊。在任意页面(“更改”、“分支”等)下点击操作右边的箭头,选择打开命令提示符,使用git命令,各种操作妥妥的。
比如删除分支: git branch -d dev (忽略修改强行删除用-D)
回滚到上一次提交(如果还没有add):  git checkout .( 所有文件,也可指定)
如果已经add了,先将staged的内容打回去:git reset . 然后再checkout
回滚到特定版本:git reset (--soft/hard/mixed) version  ,一定要确定是否需要保留index/working tree中的修改后再确认参数!
以上的这些操作,具体请参考下面的git命令参考 :-)


其实装了git for windows之后,不用什么软件也能实现git,用命令行(git bash)即可,有scm作为服务器,只是vs更加方便一点点而已。这样,我们对python等其他工程都能实现git的控制了,赞!

只要及时将代码和仓库备份到云端,当电脑挂掉重装后,重新安装scm manager,将路径改为原来.git的目录,在使用左侧的import功能,哇塞,仓库又回来了!

最后提醒自己,用git要多提交哦~

对git命令有任何问题,可以参考这个网页,非常不错:
http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

参考:
http://blog.csdn.net/bodybo/article/details/38976549/  VS2013中使用Git建立源代码管理
http://hittyt.iteye.com/blog/1961386  Git回滚的常用手法

0 0
原创粉丝点击