git常用命令

## 一、常用命令

#### 查看本地所有分支

```
git branch
```
#### 查看当前状态

```
git status
```

#### 提交

```
git commit
```
#### 查看所有的分支

```
git branch -a
```
#### 查看远程所有分支

```
git branch -r
```

### 切换远程分支
```
git checkout -b 本地分支名称 origin/远程分支名称
```
### 切换本地分支
```
git checkout 本地分支名称
```

#### 提交并且加注释

```
git commit -am "init"
```
#### 将文件给推到服务器上

```
git push origin master
```
#### 显示远程库origin里的资源

```
git remote show origin
```
#### 切换到远程dev分支

```
git checkout --track origin/dev
```
#### 删除本地库develop

```
git branch -D master develop
```
#### 建立一个新的本地分支dev

```
git checkout -b dev
```
#### 将分支dev与当前分支进行合并

```
git merge origin/dev
```
#### 切换到本地dev分支

```
git checkout dev
```

#### 查看本地项目的git地址
```
git remote -v
```
#### 查看项目是从哪个分支拉下来的

```
git remote show origin
```


### 2.放弃本地修改
#### 2.1 未使用 git add 缓存代码时,使用:

```
git checkout -- filepathname
```
#### 2.2 已经使用了 git add 缓存了代码

```
git reset HEAD filepathname
```
#### 2.3 已经用 git commit 提交了代码
可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态.

```
git reset --hard commitid
```
可以使用 git log 命令来查看git的提交历史。git log 的输出如下,之一这里可以看到第一行就是 commitid:


### 3.放弃本地修改
git pull时出现冲突 放弃本地修改,使远程库内容强制覆盖本地代码

```
git fetch --all #只是下载代码到本地,不进行合并操作
git reset --hard origin/master #把HEAD指向最新下载的版本
git checkout . #本地所有修改的。没有的提交的,都返回到原来的状态
git stash #把所有没有提交的修改暂存到stash里面。可用git stash pop回复。
git reset --hard HASH #返回到某个节点,不保留修改。
git reset --soft HASH #返回到某个节点。保留修改
```

## 二、从一个分支cherry-pick多个commit

首先 git log 查看commit记录;
然后,
- 单个commit只需要
```
git cherry-pick commitid
```
- 多个commit 只需要
```
git cherry-pick commitid1..commitid100
```

posted @ 2019-03-08 10:03  BillyYang  阅读(174)  评论(0编辑  收藏  举报