git_demo3. Why Git
• Git is a free distributed version control
system
• Git can use in local
• Git is easy and fast to switch branch
4. Git Repo
• Workspace
– Include all physical files
• Index
– Save all temporary changes
• HEAD
– It’s a pointer, point to the latest commit in your
current branch
13. Git rebase and Git merge
• Use rebase
– Your branch are local branch, No remote branch
• Use merge
– All other situations
Editor's Notes Svn 是集中式的,如果Svn 的服务器挂了,你重新搭个服务器版本信息就丢了, 但是Git不同,他的服务器是分布式的,如果我clone了git的repo,那我的电脑就可以做服务器了,保留了完整的版本信息
Svn 提交的时候必须要检查remote ,不提交不能继续别的工作,但是git 做commit的时候不需要网络
Svn的一个branch就是一个copy, 很占地方, 一会我们看看git的branch是怎么做的
Git 还有很多其他的优点, 就不一一介绍了 Git repo 我们clone下来的就是一个完整的git repository
Git repo 由三部分组成,git会负责自己维护这三部分
首先是workspace, 这里呢就是我们所有的物理文件,git clone的时候好几个g, 基本都是workspace的文件
然后index, 这个翻译成中文叫git的暂存区,所有修改并且做了git add的但是还没提交的文件都会放到git的暂存区
最后HEAD, 这是git维护的一个指针,他永远指向的是当前的branch的最新的commit号码,当你切换branch的时候, git会移动HEAD到新的branch的最新commit上面
Git repo 由三部分组成,git会负责自己维护这三部分
首先是workspace, 这里呢就是我们所有的物理文件,git clone的时候好几个g, 基本都是workspace的文件
然后index, 这个翻译成中文叫git的暂存区,所有修改并且做了git add的但是还没提交的文件都会放到git的暂存区
最后HEAD, 这是git维护的一个指针,他永远指向的是当前的branch的最新的commit号码,当你切换branch的时候, git会移动HEAD到新的branch的最新commit上面
Microsoft Confidential Microsoft Confidential Microsoft Confidential Microsoft Confidential Microsoft Confidential Microsoft Confidential Microsoft Confidential 那么这俩通常怎么用呢?
如果B是你的本地branch, 远程没有这个branch的话,推荐rebase, 然后再push到远程
如果B已经在远程了,并且B已经是个多人协作工作的branch了,那么强烈不推荐Rebase, 做merge就好,因为要保证你的修改不影响别人
到此,大家有啥问题没有?
Microsoft Confidential