美文网首页
2017-12-27 Git的快速学习

2017-12-27 Git的快速学习

作者: 罗兆峰 | 来源:发表于2017-12-27 14:23 被阅读0次

1. Git 版本回退命令

HEAD 代表当前版本

HEAD^ 上个版本

HEAD~100  往上100个版本

2. git reset --hard head^

git reset --hard 版本号

3.查询历史提交

git log  查询现在版本库的状态

git reflog 查询历史某个版本

4. 仓库内部结构如下图

新建的文档。用 git status 查询时显示untracked状态

add 文档前   

changs not staged to commit

add文档后 

changes to be committed

git 管理的是修改,即保存的是修改而不是文件

第一次修改-》add -> 第2次修改-》 add 

第二次修改是保存在工作区中,并没有在暂存区中修改

git diff 查询的是工作区的和版本库中的最新版本的区别

5.撤销修改

git checkout -- readme.txt  把工作区的修改全部撤销

将文件回到最近一次commit 或者add的状态

如果修改已经加到暂存区中  

用 git reset HEAD readme.txt 再用 git checkout  -- readme.txt

## 版本回退仅能针对本地仓库的回退, 如果推送到远程服务器中, 那就无可挽回

6.删除文件

git rm 文件名

git commit 

若在本地删错文件后(仓库还有) 用git checkout -- 文件名 恢复

7. 与远程库关联

git remote add origin git@github.com:michaelliao/learngit.git

origin 是远程仓库简称

域名@ 网址: 地址

把本地库内容推送到远程库上

git push -u origin master

8.创建并合并分支

git checkout -b dev  =  git branch dev  && git checkout dev

checkout 命令代表切换到dev分支中

然后在dev上执行add commit 命令后

git checkout master 切换到master分支

合并分支

git merge dev   用于合并指定分支到当前分支

最后记得删除多余分支

git branch -d dev

9. 合并分支出现矛盾时, 切换到有问题分支中, 解决矛盾后commit 就自动merge了

10.git merge --no-ff -m " " 

由于merge 过程中会丢失分支的信息,在git log 分支历史看不到, 所以加入--no-ff 可以强制关闭fast forward 模式

11.开发分支与用户分支

当出现BUG的时候  用户分支(master)必须快速修改,但是 开发分支中有大部分文件未提交 正在修改

处理策略

先保存现场

git stash

然后切换到master 分支

git checkout master

在master分支创建BUG 分支 修改BUG

git checkout -b  issue-01

git add "readme.txt"

git commit -m "" 

然后 合并master 和bug分支

git checkout master 

git merge --no-ff -m " " bug 

切换回dev分支后恢复现场

git checkout dev

git stash pop  (代替方法   git stash list  查询  再用git stash apply stash@{0})

10 删除分支

git branch -d 分支名字

git branch -D 分支名字    强制删除

11.推送分支时 git push origin dev 会推送到对应远成仓库的dev 分支上

12. 多人协作的模式

A. 首先 一般clone 下来的都是master分支 

B. 若想clone 下的是远程仓库的dev 分支的话

git checkout -b  dev origin/dev

git commit 

git push origin dev

但是当push 过程出现错误时,说明远程仓库的内容比你现在分支内容要新。

C. 使用 git pull 命令可以抓取origin/dev 中的最新提交,然后在本地合并

git pull 失败是没有指定本地dev 和远程dev 的链接  修改为

git branch --set-upstream dev origin/dev 

git pull

解决冲突(直接修改矛盾的地方)

再提交 add  commit  ->> 自动merge形成新的dev

然后git push dev origin/dev

D.若合并过程中出现矛盾,解决冲突再推送

相关文章

  • 2017-12-27 Git的快速学习

    1. Git 版本回退命令 HEAD 代表当前版本 HEAD^ 上个版本 HEAD~100 往上100个版本 2....

  • git技术,GitHub、GitLab

    git学习 Git教程(小白快速入门版) Git教程(简化版) git详细学习 Gitlab的管理使用手册git初...

  • 学习笔记| git深入浅出 Part1_快速操作指南

    Git专题 学习笔记| git深入浅出 Part1_快速操作指南 学习笔记| git深入浅出 Part2_Git...

  • Git使用入门

    这篇文章是我学习git之后整理的思路,可大致快速聊解到git的基本使用,如想更加全面是学习到git,笔者推荐 廖...

  • Git 快速使用

    MENU Git 快速使用 之 配置并获取SSH公钥Git 快速使用 之 Git 分支 branchGit 快速使...

  • 天使陪伴计划明细

    2017-12-27叮叮家50 2017-12-27无名爱心人士200 2017-12-27曹卫国2000 201...

  • Git版本控制与工作流

    专为设计师而写的GitHub快速入门教程 git - 简明指南 学习Git的在线互动教程 基本概念Git是什么?G...

  • Git学习之思维导图

    用思维导图的形式学习Git,本文只是整理了git快速使用的导图,如果想要更深入的理解git,或者完成更加复杂的操作...

  • Git 基础操作学习笔记No.1

    前言: 我的学习资料主要是廖雪峰的git教程和git官方documentation,廖雪峰的教程能够帮助我快速建立...

  • Git 安装使用教程

    Windows上安装Git Git详细学习网站 Git是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型...

网友评论

      本文标题:2017-12-27 Git的快速学习

      本文链接:https://www.haomeiwen.com/subject/jxtugxtx.html