美文网首页
Git 全方位

Git 全方位

作者: kayorl | 来源:发表于2016-11-26 00:36 被阅读0次

本地仓库

$ git checkout -- readme.txt

1.修改后未放至暂存区,回到和版本库一样的状态

2.修改后添加至缓存区,回到添加前的状态

总: 回到最近得 git add 或者 git commit 时的状态

$ git reset HEAD readme.txt

将缓存区的修改撤销(unstage)

$ git rm readme.txt

从版本库删除

远程仓库

$ ssh-keygen -t rsa -C "email@example.com"
$ cd ~/.ssh/id_rsa.pub
# 在 github / 个人 / SSH / Add SSH 填入密钥 

本地仓库与Github 仓库之间通过 SSH 加密

# origin 远程库名
# server-name 采用 github 则为 github.com
# path 用户名
# repo-name 仓库名
$ git remote add origin git@server-name:path/repo-name.git

在本地仓库里添加远程库

$ git clone git@server-name:path/repo-name.git

克隆远程库

# -u 关联相应分支
$ git push -u origin master

把本地库的所有内容推送到远程库

分支管理

HEAD指针不是指向提交,而是指向 master ,master 指向提交


# -b 创建并切换
$ git checkout -b dev

# 等价于两条
$ git branch dev
$ git checkout dev

创建并切换分支

# 当前分支 master
$ git merge dev

合并指定分支到当前分支

$ git branch -d dev

删除本地分支

$ git push --delete origin dev

删除远程分支

$ git branch -m develop dev

本地分支更名

冲突

人生八九不如意

$ git checkout -b feature1

# 修改 README.md 
# Creating a new branch is quick AND simple.
$ git add README.md
$ git commit -m "AND simple"

$ git checkout master

# 修改 README.md 
# Creating a new branch is quick & simple.
$ git add README.txt
git commit -m "& simple"

# 生成不同的两条线
# 目前在 master 分支上
$ git merge feature1

# CONFLICT!!!!!!!!!! 冲突
# vi README.md
$ git add README.md
$ git commit -m "conflict fixed"

冲突合并,修改

分支管理策略

$ git checkout -b dev
$ vi README.md
# ...
$ git add README.md
$ git commit -m "add merge"

# 切回 master
$ git checkout master

# --no-ff no Fast forward
$ git merge --no-ff -m "merge with no-ff" dev

默认使用 Fast forward 会丢掉分支消息,强制禁用增加参数 --no-ff

$ git log 00graph --pretty=oneline --abbrev-commit

用图形查看分支历史

分支策略

  • master 非常稳定、用来发布新版本
  • 在 dev 上开发
  • 每个人有自己的分支

Bug 分支

$ git stash

暂存工作现场

$ git checkout master
$ git branch -b issue-1
$ git add README.txt
$ git commit -m "fix bug 1"
$ git checkout master
$ git merge --no--ff -m "merged bug fix 1" issue-1
$ git branch -d issue-1

bug 修复

$ git checkout dev
$ git git stash pop

恢复现场

$ git stash list

查看暂存列表

$ git stash apply stash@{0}

恢复指定 stash

多人协作

队友操作

$ git clone git@github.com/KayorLien/lutu.git

$ git checkout -b dev orgin/dev
$ git add hello.js
$ git commit -m "add an comma"

自己操作

$ git add hello.js
$ git commit -m "Add coding: utf-8"

# REJECTED
$ git branch --set-upstream-to origin origin/kayor
$ git pull

# 解决冲突
$ git commit -m "merge & fix hello.js"

标签管理

# 打标签
# commit id: 283745
$ git tag -a v0.1 -m "version 0.1 released" [commit id]

$ git push origin tagname

# 推送所有未推过的标签
$ git push origin --tags

Git Cheat SheetGit Cheat Sheet

相关文章

  • Git 全方位

    本地仓库 1.修改后未放至暂存区,回到和版本库一样的状态2.修改后添加至缓存区,回到添加前的状态总: 回到最近得 ...

  • Git练习

    选了三个比较有意思的项目,让你从初级到高级全方位深入了解 Git。 玩游戏,Git入门 这个项目是「Githug」...

  • Runtime全方位装逼指南

    Runtime全方位装逼指南 Runtime全方位装逼指南

  • Android Studio

    视频教程 Android Studio 全方位指南之初识 Android Studio 全方位指南之基本操作指南 ...

  • 孩子的生命的绽放

    花儿的绽放,是全方位的。孩子的生命的绽放,也应该是全方位的。

  • 蜕变

    蜕变就是全方位立刻变好

  • 英语朗读--当我每早醒来

    通过朗读全方位提高英语!

  • ZSH中的git快捷键

    git git fetch git pull git status git add git stash git r...

  • 《远见》一

    全方位 1.所谓的全方位,在一个时间上要“竖穷三际”,在空间上要“横遍十方” 宇宙全方位的了解有以下7点:①一个公...

  • git常用命令 - 知道这几个就够了

    git add git reset git commit git checkout git branch git ...

网友评论

      本文标题:Git 全方位

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