码迷,mamicode.com
首页 > 其他好文 > 详细

Git

时间:2018-12-07 21:22:43      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:head   生成   reset   除了   工作区   ssh   历史   模式   mail   

---
title: Git
---

# Git常用操作

## 丢弃工作区修改

```shell
git checkout -- file_name
```

## 撤销暂存区的修改

```shell
git reset HEAD file_name
```

## 版本回退

```shell
git reset --hard HEAD^    #退回上一版本
git reset --hard [commit id]    #退回到[commit id]版本
```

## 查看提交历史

```shell
git log
```

## 查看命令历史

```shell
git reflog
```

## 删除文件

```shell
rm -rf foo.txt
```

此时

```shell
git status
```

会提示删除了文件,有两种情况,一种是确实要删除文件,则

```shell
git rm foo.txt
```

即可。另一种是删错了,则

```shell
git checkout -- foo.txt
```

`git checkout`其实就是用版本库里的版本替换工作 区的版本。

## 远程仓库

### 创建SSH-Key

```shell
ssh-keygen -t rsa -C "your email@example.com"
```

### 添加SSH-Key

### 添加远程仓库

```shell
git remote add origin git@github.com:alfredxinglkey/learngit.git        //添加后远程库的名字就是origin,这是git默认的叫法
git remote add origin https://github.com/alfredxinglkey/learngit.git        //https除了速度慢,还有每次都需要输入口令
```

### 推送(push)

```shell
git push -u origin master        //第一次推送需要加-u参数
```

### 克隆(clone)

```shell
git clone git@githuc.com:alfredxinglkey/learngit.git
```

## 分支管理

### 创建分支

```shell
git branch dev        //创建分支dev
git checkout -b dev        //创建dev分支并切换到dev分支
git branch         //列出所有分支
```

### 切换分支

```shell
git checkout master        //切换到master分支
```

### 合并分支

```shell
git merge dev        //合并dev分支到master分支
```

### 删除分支

```shell
git branch -d dev        //删除dev分支
```

### 解决冲突

手动修改冲突文件后重新提交,然后再次合并。

### 分支管理策略

Fast forward模式下,删除分之后,会丢掉分钟自信息,需要手动强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样。从分支历史上就可以看出分钟自信息。

```shell
git merge --no-ff -m "merge with no-ff" dev        //禁用fast-forward模式
```

Git

标签:head   生成   reset   除了   工作区   ssh   历史   模式   mail   

原文地址:https://www.cnblogs.com/alfredxing/p/10084230.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!