Git学习笔记整理

Git命令清单

git-cheatsheet

Git常用命令整理

初始化工程

1
git init

本地仓库

提交文件

  1. 添加文件到暂存区:

    1
    2
    3
    git add [file]    // 添加单个文件
    git add [dir] // 添加指定文件夹
    git add . // 添加当前目录所有文件
  2. 将暂存区内容添加到本地仓库中:

    1
    2
    git commit [file] -m [message]  // 提交暂存区的指定文件
    git commit -m [message] // 提交暂存区的所有文件

版本回退

  1. 查看历史提交记录:

    1
    2
    git log
    git log --pretty=oneline // 单行显示
  2. 回退到某个版本:

    1
    git reset --hard [HEAD]

  这里的HEAD参数为git log --pretty=oneline命令输出的每一行最开始的一长串字符串,即每次commitHEAD(版本)值。
  实际输入时,可以只取前5-8个字符。

撤销修改

  1. 查看状态:

    1
    git status
  2. 没有git add,撤销某个文件的修改:

    1
    git checkout -- [file]
  3. 已经git add:

    1
    2
    git reset HEAD [file]
    git checkout -- [file] // 依次执行2条命令
  4. 已经git commit

    1
    git reset --hard [HEAD]  // 回退到之前的版本

远程仓库

添加远程仓库

  1. 添加远程版本库:
    1
    git remote add [shortname] [url]

  shortname参数一般用origin来表示,即远程版本库。

  1. 将本地分支版本上传至远程并合并:
    1
    git push -u origin master

   将本地代码推送到远程的master分支。第一次推送时,需要加上-u,后续推送时,可不加此参数。

分支管理

查看分支:

1
git branch

创建分支:

1
git branch [name]

切换分支:

1
2
git checkout [name]
git switch [name] // 需要git版本2.23

创建+切换分支:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
git checkout -b [name]
git switch -c [name] // 需要git版本2.23
```

### 合并某分支到当前分支:
```cmd
git merge [name]
```

### 删除分支:
```cmd
git branch -d [name]
```

## 标签管理
### 创建标签
1. 给当前`commit`添加标签:
```cmd
git tag -a [tagname] -m [message]
  1. 给某一次commit添加标签。HEADcommitID值:

    1
    git tag -a [tagname] -m [message] [HEAD]
  2. 查看所有标签:

    1
    git tag

操作标签

  1. 推送一个本地标签:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    git push origin [tagname]            
    ```
             
    2. 推送全部未推送过的本地标签:
    ```cmd
    git push origin --tags
    ```

    3. 删除一个本地标签:
    ```cmd
    git tag -d [tagname]
    ```

    4. 删除一个远程标签:
    ```cmd
    git push origin :refs/tags/[tagname]
    ```

    # Git常见问题整理
    1. 解决合并代码的冲突问题

    * 问题现象

      当本地代码与远程代码不同步时,如果此时`git push`进行提交,则会出现代码冲突问题。

    * 解决办法

    ```cmd
    git stash // 保存代码
    git pull // 拉取代码
    git stash pop stash@{0} // 还原刚才保存的代码
    git stash clear // 清空所有刚才保存的代码

其他Git指令

  1. 统计项目文件的所有文件列表、及行数:
    1
    git ls-files | xargs wc -l

参考资料

  1. 廖雪峰git官方文档
  2. Learn Git Branching学习网站
谢谢老板!
-------------本文结束感谢您的阅读给个五星好评吧~~-------------