git的基本使用
git 采用的是分布式仓库,本地和远程仓库都是一个包含完整记录的仓库,如果某一处被格式化了,还以从另一个仓库获取,并不会有大影响(只要之前进行了同步仓库)。git 可以在断网的情况下,提交到本地仓库,之后联网再推到远程仓库。每次提交或者保存,git都会记录下所有文件状态,若未改变的文件,git不会再次存储,只会链接到之前已经存储的文件。
git文件一共有四种状态:
以下为git中存在的,并在跟踪的
创建本地.gitignore
创建一个global .gitignore
指定仓库排除
参考 Ignoring files
这里遇到一个问题:当我不修改系统默认的提交信息时(或者只是换行不输入任何信息),然后关掉编辑器会出现提交不成功,并会提示
Aborting commit due to empty commit message.
解决方法 :必须输入新的提交信息,即在原来的基础上,至少要加入新的行数据。
git rm \*~ 删除所有以~这个结尾的文件
限定输出
更多限定
Table 3. Options to limit the output of git log
参考至: Git Basics - Undoing Things
`eg
$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend`
展示仓库名
fetch、pull、push
(==注==:origin 是用git clone到本地之后,自动命名,如果在你push之前,有人先push了,那么push会失败,必须fetch下来合并,并且运行起来,才能在push)
指定一个提交(commit)点作为tag,并不保存额外的信息、
包含tagger 名字、邮箱、日期、tagging msg等信息
-m 指定标记消息,若没有,系统会自动采用默认的编辑器
给之前提交(commit)加上tag
分享tags
默认情况下,git push 并不会将本地的tag,push到远程服务器上,用以下两个命令行推到远程仓库上
检出Tags
必须新建一个分支,然后将要检出的tags,指定到这新分支上
为了是命令更简单、更容易明白和操作,可以给命令添加别名如下:
运行的时候直接打 git ci可以
可视化命令 gitk