git

Git

什么是Git? Git和SVN有什么区别?

Git是目前世界上最先进的分布式版本控制系统。

我将介绍几个最基本的,也是最常用的 Git 命令,以后绝大多数时间里用到的也就是这几个命令:

初始化一个新的代码仓库,做一些适当配置;git init查看本地Git仓库当前的状态;git status

开始或停止跟踪某些文件;git add README暂存或提交某些更新;git commit -m 'add some new founctions'如何让 Git 忽略某些文件,或是名称符合特定模式的文件;.gitignore添加远程仓库;git remote add origin xxx.git

(克隆远程仓库;git clone xxx.git)

推送内容到远程仓库;git push (-u //第一次推送所有内容) origin master

从远程仓库拉取最新修改;git pull

回退到以前的版本;git reset --hard HEAD^如何浏览项目的更新历史,查看某两次更新之间的差异;git log

在使用各种版本管理工具时,必须要能处理冲突。

当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。

多人协作的工作模式通常是这样:

1、首先,可以试图用git push origin branch-name推送自己的修改;

2、如果推送失败,则因为远程分支比你的本地更新,需要先用git pull试图合并;

3、如果合并有冲突,则解决冲突,并在本地提交;

4、没有冲突或者解决掉冲突后,再用git push origin branch-name推送就能成功!

5、如果git pull提示“no tracking information”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream branch-name origin/branch-name。

6、这就是多人协作的工作模式,一旦熟悉了,就非常简单。

Git 是一种分布式版本管理工具

GitHub 是全球最大的开源代码管理网站,提供有免费的Git远程仓库,但是免费的必须开源,这里边有数不尽的开源代码供我们使用。我们也可以使用收费版本,交钱之后才可以创建私有仓库。

在使用Git管理代码的时候,尽量分工明确不交叉,否则可能会出现冲突,一旦出现冲突,要么回退到原来的版本,要么定位到冲突的具体位置,并且解决这个冲突。面试的时候这个解决代码冲突的具体方式会问到。

既然是版本管理工具,我们尽量在写某个功能的时候,按照最小原则去推送(一旦加入了某个类、写了某个功能、我们敲了一天|半天的代码),都去尽快提交到远程仓库。

git.oschina.net 这是国内的一家git仓库,可以有免费的git仓库提供。

www.coding.net这也是国内的一家提供免费私有代码仓库的网站,并且这些网站都有对应的iOS客户端,全部是开源的。

https://bitbucket.org/ 这是国外的另一家,有中文界面,也有免费的 git仓库。

SourceTree 就是上面这家公司开发的一款git可视化管理工具,自带中文界面。

你可能感兴趣的:(git)