一.应搞懂的基本概念
1.文件所处几个阶段
working tree->index->repository
对应的文件三种状态(modified暂存区, staged工作区, committed)
说明:新建一个文件或者修改一个文件,这是文件处于working tree。当执行add命令将文件内容加入index(可以理解为暂存区)。注意,这时候还没有入库。需要再次执行commit命令,才将改动的内容入库。只有文件入库,才能在后面使用中更好的追踪文件的改动、删除等操作。
Head是一个指针,可指向库中代码的不同提交状态。
相关命令:
git-add - Add file contents to the index
git-commit - Record changes to the repository
reset:Reset current HEAD to the specified state。把Head指针指向指定状态。撤销本地修改。
2.branch分支
master分支:库建好后就有的mater分支。提交到该分支上的内容,状态应该比较稳定,可用于发布。
学会开分支,非常重要,Git鼓励多开分支。入干活、修正bug都应在在分支上干。干完后再合并。
branch: 分支
相关命令:
git-branch - List, create, or delete branches。
checkout :Switch branches or restore working tree files。Head切换到某分支,当前分支的修改暂时取消,可以使用Stash暂存。
merge:Join two or more development histories together
stash:
分支参考资料:分支
3.远程库
将本地仓库与远程仓库联系起来。方便多人协作。
相关命令:
git-fetch - Download objects and refs from another repository。相当于更新,但不会merge。
git-pull - Fetch from and integrate with another repository or a local branch。有点像update,但会merge.
git-push - Update remote refs along with associated objects
二. 参考资料使用指南
速成类:用于快速了解Git概念及基本命令,打印版可以将常用命令打印出来以供参考。
教程类:用于从头到尾完整学习Git
其他:官网、Eclipse上的Git插件使用
三. 其他
常用支持Git的代码管理网站。
国外: Github
国内:码云、Coding.net(更适合团队协作)
四. 参考资料
速成类
git - 简明指南
互动,推荐-学习Git分支
GIT速成
GIT命令打印版
完整教程类
廖雪峰GIT教程-命令行版-概念非常清楚
Git使用完整教程
其他
使用Eclipse Egit与码云管理你的代码
Eclipse上GIT插件EGIT使用
git官网
如何使用 Issue 管理软件项目?
github issue是做什么的?