— layout: post title: Git进阶之路(一) tags: [git] categories: [tools] —
准备工作
Git客户端下载
SourceTree 推荐
TortoiseGit 小乌龟
Git免费仓库
Bitbucket 支持开源仓库及私人仓库 完全免费且没有仓库限制,团队的话有团队人数限制,关键是私人仓库免费啊,如果私人项目比较多的话推荐用这个。
GitHub 支持开源仓库及私人仓库(私人仓库收费) 如果你开源项目比较多,建议选择这个,私人仓库的话是需要收取费用的,不过一个月也才几美元,一般赚名声的话推荐用这个。
比较工具(用于解决冲突)
BeyondCompare 推荐
Workshare Compare
UltraCompare Pro
基础介绍
### 1. Git 与 SVN 区别点
GIT 是分布式的,SVN 不是。这是 GIT 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
GIT 把内容按元数据方式存储,而 SVN 是按文件:所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn,.cvs等的文件夹里。
GIT 分支和 SVN 的分支不同:分支在 SVN 中一点不特别,就是版本库中的另外的一个目录。
GIT 没有一个全局的版本号,而 SVN 有, 目前为止这是跟 SVN 相比 GIT 缺少的最大的一个特征。
GIT 的内容完整性要优于 SVN 。GIT 的内容存储使用的是 SHA-1 哈希算法,这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
Git 只适用于文本内容管理,对于二进制文件无法直接查看修改的内容对比,不太适合用于管理二进制文件内容。
2. 工作区(Working Directory)和版本库(Repository)
说明:
工作区就是创建仓库的文件夹如( learngit 文件夹就是一个工作区)
版本库就是工作区的隐藏目录 .git ,版本库中有暂存区( stage / index )和分支( master )
git add 实际是把文件添加到暂存区, git commit 把暂存区的内容提交到当前分支
好了,上面一些官方介绍完毕(虾扯淡),下面开始进入正题(基于 IDE 傻瓜式操作,没有命令行教学)。
基本使用
创建版本库 git init
创建 本地/服务器 git 仓库文件夹,名为:** learngit **
添加文件 git add 文件全名包括后缀
将文件添加到暂存区,已添加到暂存区的文件会在 已暂存文件 区域显示,且文件会变成绿色,未暂存的文件会在 未暂存的文件 区域显示,如果要把未暂存的文件添加到已暂存文件直接点下前面的勾选框即可。
提交文件 git commit -m "commit message"
将已缓存的文件提交到本地仓库并填写本次提交信息log
关联远程仓库 git remote add origin xxx.git
将本地仓库于远程服务器仓库关联
推送文件 git push -u origin master
将本地的修改提交推送到远程服务器仓库
拉取服务器提交 git pull origin master
将服务器上别人的提交拉取到本地
进阶
分支管理
分支创建 git branch 分支名