git

2019-12-06  本文已影响0人  fanstastic
git config --global user.name
git config --global user.email

如果想针对特定项目使用不同的用户名与邮件地址,只要去除--global就可以

git init将创造一个名为.git的子目录,这个子目录含有初始化git仓库中所有的必须文件。

git reset HEAD <file>

来取消暂存,不加选项的调用git reset并不危险,他只会修改暂存区域。

git checkout -- [file] 
git fetch [remote-name]

只有当有克隆服务器的写入权限,并且之前没有人提交过。这条命令才能生活。

git tag -a v1.4 -m '附注信息'
git show
git tag -a v1.5 commitId

git show查看标签信息

git push origin [tagname]

git仓库有五个对象:3个blob对象、一个树对象(记录文件目录和blob对象索引)以及一个提交对象。

git checkout exp
git rebase master

在master所指向的分支中应用exp分支的修改,并创建一个新的提交对象。它的原理是首先找到这两个分支的共同祖先,然后对比当前分支相对于该祖先的历次提交,提取相应的修改并存为临时文件,然后将当前分支指向目标基底c3,最后将之前另存为临时文件的修改依序应用。现在回到master进行一次快进合并。
例如向某个其他人维护的项目贡献代码时。首先在自己的分支里进行开发,开发完成时需要先将自己的代码变基到master上,然后在向主项目提交修改。
变基是将一系列的提交应用到另一分支上,而合并则是把最终结果和到一起。
使用快进合并将分支指向同一个提交

服务器上的git

分布式Git

  1. 首先e创建了一个featureA
  2. e又创建了一个featureB
  3. o推送了一个分支featureBee
  4. 此时e将featureB分支上合并的工作推送到featureBee上。
  5. o推送改动到了featureA

github

上一篇下一篇

猜你喜欢

热点阅读