一、
二、
git clone的浅拷贝
这里推荐大家使用浅拷贝来clone项目,浅拷贝的好处是不用clone项目的完整历史,而只需clone最近的一次提交,但是项目里面的文件都会完整地被下载下来,只是历史不会完全保留,如果你并不关系项目的git历史,那就完全可以使用浅拷贝来完成clone
像这样:
git clone --depth=1 https://......
项目克隆下来你会发现文件都在,一切都正常,但是历史却只保留了最近的一次commit,速度当然快
三、
查找域名对应的ip地址,并修改hosts文件
github.global.ssl.fastly.Net
github.com
sudo gedit /etc/hosts
使用下面的关系区别这两个操作:
git pull = git fetch + git merge
git pull --rebase = git fetch + git rebase
1、git merge
用git pull命令把"origin"分支上的修改pull下来与本地提交合并(merge)成版本M,但这样会形成图中的菱形,让人很困惑。
2、git rebase
创建一个新的提交R,R的文件内容和上面M的一样,但我们将E提交废除,当它不存在(图中用虚线表示)。由于这种删除,小李不应该push其他的repository.rebase的好处是避免了菱形的产生,保持提交曲线为直线,让大家易于理解。
在rebase的过程中,有时也会有conflict,这时Git会停止rebase并让用户去解决冲突,解决完冲突后,用git add命令去更新这些内容,然后不用执行git-commit,直接执行git rebase --continue,这样git会继续apply余下的补丁。
在任何时候,都可以用git rebase --abort参数来终止rebase的行动,并且mywork分支会回到rebase开始前的状态。