加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

git操作代码流程:add/commit/push/checkout/reset/revert/pull/fetch/update

(2019-11-10 21:47:29)
分类: Linux/Git常识/docker
1、代码操作步骤图:
git操作代码流程:add/commit/push/checkout/reset/revert/pull/fetch/update
其中,
名称 解释
Workspace 工作区
Index / Stage 暂存区
Repository 仓库区(或本地仓库)
Remote 远程仓库
2、代码提交方式—add/commit/push
     1)add(由工作区提交到暂存区)
命令行:git add -A  提交所有变化
                   git add  src/com/ly/… 提交文件
注:红色的是在工作区中的改动,绿色是已经提交到暂存区的改动,.DS_Store文件忽略,此文件为MAC中对文件属性的描述等,可加入到gitignore文件中。
2)commit(由暂存区提交到本地仓库)
   命令行:git commit -m “message”
              git commit -a -m“massage”
3)push(由本地仓库提交到远程仓库)
   命令行:git push origin 分支名(远程没有会新建)
              git push origin(远程有分支)
3、代码回退方式(checkout/reset/revert)
1)checkout(撤销工作区的代码)
   命令行:git checkout -- src       可以将src文件夹里在工作区的撤销
2)reset(撤销没有push前的代码)
    命令行:git reset --hard HEAD^ 
Reset Type:
Mixed(默认):只是将git commit和index 信息回退到了某个版本,工作区的修改不会撤销。
Soft:只回退到commit 信息到某个版本.工作区和暂存区的改动不会撤销。
Hard:源码也会回退到某个版本,工作区、暂存区、本地仓库的改动都会撤销。
To Commit
上一个版本commit就是HEAD^(HEAD~1)
上上一个版本就是HEAD^^(HEAD~2)
往上100个版本HEAD~100
或者直接HEAD commit ID
3)revert(已经push的代码)
     命令行:git revert HEAD
                 git revert -n commitId
原来的commit都没有变动,不过又增加了一个反向的commit。
4、代码拉取方式(pull/push/update)
 1)   令行:git pull origin 远程分支名:本地分支名
                git pull origin master
                git pull –ff origin
Squash :将多次提交合并成一个新的commit
ff:直接将dev分支的commit信息合并到master上,没有冲突的时候可以。
no ff :pull之后会增加一条merge的commit记录,不会自动执行merge操作
2)fetch:拉取当前项目的所有远程分支到本地仓库,不会自动merge,更新本地仓库中的分支。
3)update:
git操作代码流程:add/commit/push/checkout/reset/revert/pull/fetch/update

Using Stash:将未commit的修改暂存到本地仓库,不会push到远程仓库。
Using Shelve:将未commit的修改暂存在IDEA中,与stash的区别是,Shelve由IDEA管理,stash由git管理
Merge:git pull --no-rebase
Rebase:git pull --rebase
Branch Default:采用该分支默认的更新策略,该策略在.git/config文件中设置,若无设置则等同于Merge方式。
    

reset与revert区别:
  • git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit。
  • git reset是把HEAD向后移动了一下,而git revert是HEAD继续前进,只是新的commit的内容跟要revert的内容正好相反,能够抵消要被revert的内容。
  • git reset只是在本地仓库中回退版本,而远程仓库的版本不会变化


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有