Git应用笔记1

Git应用笔记

常用指令:

创建git的版本库

指令注释
git clone < url >git clone http://git@xxxxx/xxx/xxx/xxx.git 克隆之后已经完成初始化,不需要再git init
git init初始化

查看

指令注释
git status查看状态
git diff查看差异
git log查看每次commit及备注
git blame < flile >列表方式查看指定文件log

本地工作区 ↔ 暂存区之间的修改和提交

指令注释
git add .所有改动添加到暂存区
git add < file >指定跟踪文件添加到暂存区
git commit -m “message”提交(存到本地数据库中,数据库都是经过提交的有索引;暂存区没有索引)
git commit --amend修改上次的提交
git reset --hard HEAD全部撤销(本地工作区内未提交的文件修改)
分支指令注释
git branch显示所有分支(本地)
git branch < NEW branch>创建新分支
git branch -d < branch >删除本地分支
git checkout < branch >切换到分支
git merge < branch>合并< branch> 到当前分支
git rebase < branch>衍合< branch> 到当前分支 (衍合又称变基

注:合并衍合的区别需要重点理解一下,合并比较好理解,就是把一个分支纳入进来,两个分支变成一个,类似运算;
变基则是矢量变化,是把某个分支上所有的“修改内容”(历次commit),“移植”到另一个分支(的最后commit)上。在目标分支(新基)的基础上,将变基分支“历代的修改内容”重演一遍,然后在变基分支(注意不是目标分支)得到一个新的节点。然后通常还需要(检出到目标分支去)将这个已经变基的分支合并进来。
例如将experiment变基后合并到master(experiment是变基分支,master是目标分支):

$ git checkout experiment #检出experiment分支
$ git rebase master	#变基到master,变基后experiment包含了(experiment分支自master分出后)master的历次commit,并在此基础上“重演”了experiment的历次commit。
$ git checkout master #检出到master
$ git merge experiment #把experiment 合并进来

就上面这个例子而言(这也是大多数变基操作的使用场景),合并与变基的结果是一样的,不一样的是过程。只有log不一样,变基可以使得log看起来好像变基的分支没有存在过一样(实际明明是并行开发过程,log上看起来却是串行的,本质是因为分支的工作在主干上经过了快速重演)。

变基禁忌场景:如果这个分支上你不是唯一的开发者,别人有可能基于你的提交做了其他开发,就不要进行变基。
因为变基操作会让你的提交变成过程矢量,然后在另一个新基础上重演,最终得到一串新初始节点+过程矢量的节点。这使得你的分支上的每一个节点的commit数据都可能发生了变化。

标签 指令注释
git tag显示所有本地标签
git tag < NEW tag>给最新的commit(提交)打上一个标签
git tag -d < tagname >删除本地标签
git checkout < tag >切换到标签

本地↔远程之间

指令注释
git remote -v查看信息
git remote add < remote > < url >添加远程版本库
git remote fetch < remote >下载代码
git pull < remote > < branch >下载代码+合并
例如:git pull origin mastermaster可替换为别的分支名或标签名
git push < remote > < branch >上传代码+合并
例如:git push origin mastermaster可替换为别的分支名或标签名
例如:git push --set-upstream origin master全部暂存区都上传到origin仓库master分支
git push --tags全部标签上传

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值