github的一些基本命令说明总结:
1.git status 和git diff
git diff
该命令是展示:查看已经添加了的文件其修改的情况对比,比如:
红色表示修改之前的文件,黄色表示修改之后的内容。
git status
该命令是对整个加入git跟踪系统的文件状态查看,比如:
能看到哪些文件修改了,哪些文件还没有添加,如果有文件删除的情况,也会显示删除的文件。
2.git commit 命令
该命令是提交本地修改的文件或者新增的内容,到本地git服务器里,执行完之后如果想对外部服务器上查看刚才的提交是查不到的,因为还没有彻底提交,这个和svn是不同的。
如果使用命令 git commit,则:只提交到了本地的git服务器里。
同时,git commit 还有许多参数可以使用,如果想了解有哪些参数可以使用,可以用
git commit -h
来查看相关参数,结果如下:
$ git commit -h
用法:git commit [<选项>] [--] <路径规格>...
-q, --quiet 提交成功后不显示概述信息
-v, --verbose 在提交说明模板里显示差异
提交说明选项
-F, --file <文件> 从文件中读取提交说明
--author <作者> 提交时覆盖作者
--date <日期> 提交时覆盖日期
-m, --message <说明> 提交说明
-c, --reedit-message <提交>
重用并编辑指定提交的提交说明
-C, --reuse-message <提交>
重用指定提交的提交说明
--fixup <提交> 使用 autosquash 格式的提交说明用以修正指定的提交
--squash <提交> 使用 autosquash 格式的提交说明用以压缩至指定的提交
--reset-author 现在将该提交的作者改为我(和 -C/-c/--amend 参数共用)
-s, --signoff 添加 Signed-off-by: 签名
-t, --template <文件>
使用指定的模板文件
-e, --edit 强制编辑提交
--cleanup <default> 设置如何删除提交说明里的空格和#注释
--status 在提交说明模板里包含状态信息
-S, --gpg-sign[=<key-id>]
GPG 提交签名
提交内容选项
-a, --all 提交所有改动的文件
-i, --include 添加指定的文件到索引区等待提交
--interactive 交互式添加文件
-p, --patch 交互式添加变更
-o, --only 只提交指定的文件
-n, --no-verify 绕过 pre-commit 钩子
--dry-run 显示将要提交的内容
--short 以简洁的格式显示状态
--branch 显示分支信息
--porcelain 机器可读的输出
--long 以长格式显示状态(默认)
-z, --null 条目以 NUL 字符结尾
--amend 修改先前的提交
--no-post-rewrite 绕过 post-rewrite 钩子
-u, --untracked-files[=<模式>]
显示未跟踪的文件,“模式”的可选参数:all、normal、no。 (默认:all)
常用的命令是:
git commit -a -m "说明文字"
该命令就会把已经跟踪的文件全部提交而不需要使用命令 git add filename琢一提交了,同时还给本次提交添加了说明文字。
3.git reset 命令
对于已经使用git add file 命令,把文件已经添加到缓存区域里,如果这个文件file不应该添加进去,想撤销怎么办呢?
使用命令:
git reset fileName
4.使用Git打标签
轻量标签:
本质上是将 提交校验和存储保存在一个文件里,不保存其他任何信息。
添加轻量标签的命令,示例是添加一个v1.0标签:
git tag v1.0
附注标签:
附注标签是存储在git数据库里的一个完整对象。
打标签时添加一些描述信息,还有一些后缀命令。
示例是添加一个v1.0标签
git tag -a v1.0 -m "标签的额外描述信息"
使用命令git show v1.0
就可以查看到该标签的描述信息
后期添加标签
如果对之前提交的版本进行补加标签,怎么版呢?
首先,使用命令git log --pretty=oneline
查看一下版本提交的校验和,例如:
$ git log --pretty=oneline
bd9a40da7db2e64fd338adfe26877d026cd20cb4 添加了一个空文件Test.java和help.txt文件
8b14ff0657544543e5fb0d0c8f297e1f17be2809 未修改
c91b27928f840121590de8ce1f210c3d53f14b10 haha
63320e8172c6b7c39850708a3302abf1689540dc 编译Java文件
f28e16682ccc6da1ab13797b2770a2dbfde24755 c语言测试
3ab05b6a2ad0eb5b5e17539078232bab669737f5 删除文件test.txt 在公司电脑上操作完成的
7a674989e8881bd3b9910a3df01cb27a1d88c33f hello world
f7b71628222e12d95ccdb34bc40f0e158cbe1e27 Create README.md
4d0d923678e37ca9dd5e4e6e9d34e3458b2b4e70 Initial commit
假如你在提交说明的”c语言测试“那个版本添加标签,可以这么写:
git add -a v1.0.1 f28e16
校验和可以是部分,也可以使用全部的校验和
共享标签
如果想把自己定义的标签推送到服务器里,必须手动推送。
一次推送一个标签:
git push oirgin v1.1
一次推送多个标签
git push oirgin --tags
检出标签
检出服务器某一个标签的版本:
git checkout -b [branchname] [tagname]
例如:
git checkout -b version2.0 v1.2
如有错误,希望能给出指正,非常感谢!