(自用,侵权删)
Git基础
初始化:$ git init
克隆仓库的命令格式为 git clone [url]
,
Git 支持许多数据传输协议。之前的例子使用的是 git://
协议,不过你也可以用 http(s)://
或者 user@server:/path.git
表示的 SSH 传输协议。
确定哪些文件当前处于什么状态,可以用 git status
命令
要查看尚未暂存的文件更新了哪些部分,不加参数直接输入 git diff
已经暂存起来的文件和上次提交时的快照之间的差异,可以用 git diff --cached
git add
可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,还能用于合并时把有冲突的文件标记为已解决状态等git add
后面可以指明要跟踪的文件或目录路径,运行了 git add
之后又作了修订的文件,需要重新运行 git add
把最新版本重新暂存起来
创建一个名为 .gitignore
的文件,列出要忽略的文件模式
暂存 benchmarks.rb 后再编辑,运行 git status
提交命令 git commit
给 git commit
加上 -a
选项,Git 就会自动把所有已经跟踪过的文件暂存起来一并提交,从而跳过 git add
步骤
简单地从工作目录中手工删除文件$ rm
运行 git rm
记录此次移除文件的操作$ git rm
要移除跟踪但不删除文件$ git rm –cached
$ git mv file_from file_to
移动文件 运行 git mv 就相当于运行了下面三条命令:
$ mv README.txt README
$ git rm README.txt
$ git add README
$ git log查看提交历史,我们常用 -p
选项展开显示每次提交的内容差异,用 -2
则仅显示最近的两次更新:
$ git log -p -2
git log
还提供了许多摘要选项可以用,比如 --stat
,仅显示简要的增改行数统计:
$ git log --stat
可以使用 --amend
选项重新提交:
$ git commit --amend
使用 git reset HEAD <file>...
的方式取消暂存
抛弃文件修改的命令$ git checkout -- benchmarks.rb
从远程仓库抓取数据到本地:
$ git fetch [remote-name]
$ git push origin master把本地的 master 分支推送到 origin
服务器
看所克隆的 origin
仓库,可以运行:
$ git remote show origin
用 git remote rename
命令修改某个远程仓库在本地的简称
列出现有标签的命令,直接运行 git tag
创建一个含附注类型的标签-a, -m
选项则指定了对应的标签说明,使用 git show
命令查看相应标签的版本信息