这7个常用Git命令或概念你都知道吗?
本文转载自公众号“读芯术”(ID:AI_Discovery)。
1. 以“; ”(分号)分隔的多个git命令
以分号分隔可使用多个Git命令:
$ git --version; git branch // separated by semi-colon
2. git别名命令
命令别名能提高可重用性。
将gitremote -v(用于检查远程源的命令)别名为show-origin:
$ git config --global alias.show-origin remote -v $ git show-origin
将git log --graph--pretty=oneline (打印提交日志的命令)别名为show-graph:
3. 名为‘ .git’的隐藏文件夹
隐藏的.git文件夹包含提交、分支和文件的历史记录。因此,需要复制.git 文件夹并复制整个应用程序及git历史记录(提交历史等)。要复制隐藏的文件夹,需要运行-r 选项:
$ cp -r <originalFolder><destinationFolder>
要查看隐藏的文件夹,需要运行ls-a 而不是ls:
$ls -a
4. 在‘.gitignore’中指定文件夹和文件的多种方法
.gitignore配置文件包含你不想在git系统中管理的文件和文件夹。在.gitignore中指定文件夹和文件的方法有很多种。首先,.gitignore中的#用于注释(类似于Python中的#注释)。
(1) 简单文件名
# exclude dbinfo.php file in git system dbinfo.php
(2) 模式匹配——“globbing”使用星号(*)
globbing是大多数Unix shell使用的通配符技术:
# exclude obj files *.obj
(3) 指定不想排除的文件或文件夹
可以指定不想排除的文件或文件夹。当与团队合作并希望重新声明该文件或文件夹不应从git系统中排除时,这是很有用的做法:
# do not exclude the following configuration file !config.php
(4) 文件相对路径
# exclude the file in the current directory /readme.txt# exclude all files in /pub/ directory /pub/# exclude all txt files whose parent is docdoc/**/*.txt
5. 空白信息选项
有时想在没有信息的情况下进行提交,而信息却又是提交的必要条件,可以使用--allow-empty-message选项:
$ git commit --allow-empty-mesage -m "" --- no commit message
6. 分支层次结构
当分支中带有斜杠(/)时,该分支将存储为目录层次结构:
Branch name --> v1.5/feature-1 --> v1.5/fix-1--> v1.6/feature-2 --> v1.6/feature-3 --> v1.6/fix-1
7. 显示日志
显示git日志有多种方法:
(1) pretty=online选项
$ git log --pretty=onelineOR$ git log --oneline
(2) 图表选项
$ git log --online --graph
(3) 数字选项
$ git log --online --graph -5 // SHOW only 5 most recent commits