Git命令清单
、
Git常用命令整理
初始化工程
1 | git init |
本地仓库
提交文件
添加文件到暂存区:
1
2
3git add [file] // 添加单个文件
git add [dir] // 添加指定文件夹
git add . // 添加当前目录所有文件将暂存区内容添加到本地仓库中:
1
2git commit [file] -m [message] // 提交暂存区的指定文件
git commit -m [message] // 提交暂存区的所有文件
版本回退
查看历史提交记录:
1
2git log
git log --pretty=oneline // 单行显示回退到某个版本:
1
git reset --hard [HEAD]
这里的HEAD
参数为git log --pretty=oneline
命令输出的每一行最开始的一长串字符串,即每次commit
的HEAD
(版本)值。
实际输入时,可以只取前5-8
个字符。
撤销修改
查看状态:
1
git status
没有
git add
,撤销某个文件的修改:1
git checkout -- [file]
已经git add:
1
2git reset HEAD [file]
git checkout -- [file] // 依次执行2条命令已经
git commit
:1
git reset --hard [HEAD] // 回退到之前的版本
远程仓库
添加远程仓库
- 添加远程版本库:
1
git remote add [shortname] [url]
shortname
参数一般用origin
来表示,即远程版本库。
- 将本地分支版本上传至远程并合并:
1
git push -u origin master
将本地代码推送到远程的master
分支。第一次推送时,需要加上-u
,后续推送时,可不加此参数。
分支管理
查看分支:
1 | git branch |
创建分支:
1 | git branch [name] |
切换分支:
1 | git checkout [name] |
创建+切换分支:
1 | git checkout -b [name] |
给某一次
commit
添加标签。HEAD
为commit
的ID
值:1
git tag -a [tagname] -m [message] [HEAD]
查看所有标签:
1
git tag
操作标签
- 推送一个本地标签:
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
32git 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
git ls-files | xargs wc -l