git学习笔记

参考https://www.jianshu.com/p/9685a56bdf7a?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friends

以下是对上述材料的补充

1,git add 与 git commit 的区别

      

一、Git工作流程

git add 将文件提交到缓存区,所有的修改从缓存区存储,在一次性commit到本地仓库,暂缓区主要为过度的一个区间

git add .添加当前目录的所有文件到暂存区
git add [dir]添加指定目录到暂存区,包括子目录
git add [file1]添加指定文件到暂存区

    2,创建分支

git branch列出所有本地分支

git branch -r列出所有远程分支

git branch -a列出所有本地分支和远程分支

git branch [branch-name]新建一个分支,但依然停留在当前分支

git checkout -b [branch-name]新建一个分支,并切换到该分支

git branch --track [branch][remote-branch]新建一个分支,与指定的远程分支建立追踪关系

git checkout [branch-name]切换到指定分支,并更新工作区

git branch -d [branch-name]删除分支

git push origin --delete [branch-name]删除远程分支

3,merger

git fetch [remote]merge之前先拉一下远程仓库最新代码
git merge [branch]

合并指定分支到当前分支

 

4,rabse 衍合和merger区别

merger 是将某一分支合并到当前分只,例如  在master上合并dev, git merger dev   ,dev 分支不变,会将Dev分支上的内后合并到mastr,还是两个分支,rabase则是将两个分支合并,比如在master上执行git rabase dev ,会在 master上合并dev,并删除dev.

5.reset和revert区别

   git reset —soft [commit]只改变提交点,暂存区和工作目录的内容都不改变

   git reset —mixed [commit]改变提交点,同时改变暂存区的内容

   git reset —hard [commit]暂存区、工作区的内容都会被修改到与提交点完全一致的状态

   git reset --hard HEAD让工作区回到上次提交时的状态
不同点

   1,reset 会删除commit,如果线上已经push,可能会出冲突,revert,会重新提交一个commit,不会冲突

    2,reset会出现在历史分支,而reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里.

   3,reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的.

git status显示有变更的文件
git log显示当前分支的版本历史
git diff显示暂存区和工作区的差异
git diff HEAD显示工作区与当前分支最新commit之间的差异
git cherry-pick [commit]选择一个commit,合并进当前分支

 

修改远程分支

git remote set-url url

查看提交记录

git logs -4 --stat 查看前四条,这个不能看到reset后的提交

git reflog 查看所有的提交 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值