Git Learn Part1

  — 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 分支名