git简介

这篇文章(55265335879013c64ac090a2)是从 Teambition 迁移过来的

更新 (20160429):最好的Git 电子书 https://git-scm.com/book/ (在线或下载)

什么是 Git

GIT不仅仅是个版本控制系统,它也是个内容管理系统(CMS),工作管理系统等。

Git vs SVN

  • Git 是分布式的,SVN不是 SVN 必须连接服务器才能提交变更; Git 在本地有完整版本库的 “clone”,允许离线提交变更和管理分支,然后push到远程库
  • GIT把内容按元数据方式存储,而SVN是按文件 Git会在本地存储所有东西,包括标签,分支,版本记录 SVN只在本地存储一个工作副本。
  • GIT分支和SVN的分支不同 SVN中分支就是版本库中的另外的一个目录; GIT的分支可以从同一个工作目录下快速的在几个分支间切换。
  • GIT没有一个全局的版本号,而SVN有 SVN里使用容易阅读的数字版本号,Git使用SHA-1来唯一的标识一个代码快照
  • GIT的内容完整性要优于SVN GIT的内容存储使用的是SHA-1哈希算法,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

Internet上开放的git仓库

  • 国外:gitHub、gitLab …
  • 国内:coding、gitcafe …

私有git

限内部访问,自行注册,注意:确认邮件99%可能会进垃圾邮件

客户端

“建议学习命令方式”,熟悉之后非常快捷,mac或linux中可以使用自带 git 命令,通过 git help 获得帮助。

windows系统可以选择tortoiseGit,适合原来使用tortoiseSVN的用户,有中文语言包

Git的基本流程和使用方法

这里只介绍命令方式,在线试玩: GitTryIt

  1. 初始化 git init
  2. 查看状态 git status 添加文件 git add README.md / git add *.js
  3. 提交代码 git commit -m “添加 Readme” {学习: Markdown}
  4. 查看日志 git log
  5. 远程库添加 git remote add origin http://git.jkr3.com/username/demo.git {注意:远程库需要事先在网站上新建好}
  6. 推送到远程库 git push -u origin master
  7. 从远程库拉回 git pull origin master
  8. 检查改变 git diff HEAD
  9. 放弃提交 git reset file.txt
  10. 恢复到最后版本 git checkout – file.txt
  11. 建立分支 git branch fixbug
  12. 切换到分支 git checkout fixbug
  13. 删除文件 git rm bug.txt
  14. 合并 git checkout master , git merge fixbug
  15. 删除分支 git branch -d fixbug
  16. 最后推送到服务器 git push

从SVN迁移到git

实际上svn和git在本地是可以共存的

深入学习

http://gitbook.liuhui998.com/book.pdf

更新 (20160429):最好的Git 电子书 https://git-scm.com/book/ (在线或下载)