转载

Git使用实录(针对的小白入门教程)

Git是一个优秀的分布式版本管理系统,相信大家对Git或多或少有所了解了已经,网上相关的资料也是不少,这里不打算解释相关理论,但最后会推荐几个不错的资料方便需要的人脑补。正如标题所言,这篇文章目的是从实用角度,帮助大家快速上手操作。完全来自项目总结,难免疏漏。

一.添加Git账户

使用git进行版本管理,最终一定会需要提交到公司内部的git仓库的,所以会有一个对应的Git仓库地址,包括用户名,密码。在得到仓库地址,用户名及密码之后,需要在Xcode中添加仓库。

xcode菜单栏开始 选择Xcode->preference,结果如图:

Git使用实录(针对的小白入门教程)

点击“+”,选择“Add Respository”,即可添加仓库,相关页面如下:

Git使用实录(针对的小白入门教程)

Git使用实录(针对的小白入门教程)

将前面说的仓库地址,用户名及密码填写完,点击Add即可。

备注:

1)如果使用的是SVN,Type选择Subversion

2)Authentication(认证方式),可以视情况选择SSH Keys,这时只需要密码就行。另外如果电脑还没将public keys添加到服务器,可以先参考github的配置方式,这里给出一篇博客博客供参考。

二.Xcode版本管理工具实战参考

Xcode版本管理菜单有点简陋,但是基本能满足日常开发需要了;如果再搭配终端命令来辅助的话(最后一部分会详细介绍),基本就没什么可担心的了。

xcode版本控制菜单如下:

Git使用实录(针对的小白入门教程)


从上至下有六部分(以横线区分),现在一一描述:

2.1 working copies

这部分主要进行分支操作(创建分支,切换分支及合并分支),在这里也有对仓库进行配置的入口,如图:

Git使用实录(针对的小白入门教程)

2.2 Check Out

从远程仓库拉取一份新的代码,注意拉下来的代码在提交前需要先做一些配置,否则会提交出错:

$ git config --global user.name "mignhuihe" $ git config --global user.email minghuihe@example.com

2.3 Commit

提交代码到本地仓库,特别的是Xcode中的这个菜单是git add 和 git commit的组合,就是直接提交到本地仓库;好处是效率提高了(因为实际操作中大多数git add命令之后,直接是git commit;缺点是少了提交前撤销的途径)

2.4 pull

拉取远程git仓库代码并进行合并操作,当然合并就有可能出现冲突,这时候可以利用第三方工具,如SourceTree,也可以用Xcode自带合并工具(一般pull之后,如果出现冲突,会自动跳到xcode手动合并的页面)

关于利用Xcode解决冲突,推荐一篇不错的博客:http://fzq2016.github.io/IOS笔记/SVN版本管理/chapter9/index.html

备注:pull之前,一定要commit

2.5 push

提交代码到本地仓库,并且和远程代码已经合并;这时候就可以把自己的代码push到远程git服务器了(过程没有什么区别,这里不多做介绍了)

2.6 Discard **

这个简单的来说就是:放弃修改;如果想放弃这个程序的修改(前提是没有commit),可以用这个命令

2.7 history

查看提交历史,能够详细显示其他人的提交状态(包括提交时间,修改内容);常用的是Show modified files

备注:唯一需要注意是,这个顺序不是按照时间来排的

Git使用实录(针对的小白入门教程)

三.辅助命令

这里介绍一个使用频率还算比较高的git命令,用来作为图形话工具的辅助。

先了解这样一个场景:你正在做一个新功能,可能需要几天时间,而且你已经做了一部分。这是测试告诉你有一个紧急bug需要修改。这时你会怎么做?

相信大部分人都遇到这个问题,当然有多种解决方案;这里介绍我比较常用的:保存工作现场。这种方式用到git stash命令。

这里推荐几个不错关于这方面的博客:

http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137602359178794d966923e5c4134bc8bf98dfb03aea3000

http://blog.csdn.net/hudashi/article/details/7664710

最近一直在忙项目,时间仓促,以上算是一个小总结吧,方便还不了解的人查阅,已经熟悉的也欢迎提出意见建议^_^。


正文到此结束
Loading...