花了一天时间学习廖老师git教程,对git有初步掌握,操练多几次越发上手,顺便也把这些命令记录以便后用。
Windows版的Git,从https://git-for-windows.github.io下载
创建
克隆一个储存库
$ git clone ssh://user@domain.com/repo.git
创建一个新的本地储存库
$ git init
局部变化
查看仓库当前的状态
$ git status
追踪文件的更改
$ git diff
将所有当前更改添加到下一个提交
$ git add
将文件添加一些变化到下一个提交
$ git add -p <[file]>
将所有本地更改提交
$ git commit -a [explain]
更改最后提交
$ git commit --amend
提交历史
显示所有提交,从最新开始
$ git log
显示特点文件的时间变化
$ git log -p <[file]>
查找谁修改了文件内容和时间
$ git blame <[file]>
分支和标签
列出所有现有分支
$ git branch -av
切换分支
$ git checkout <[branch]>
创建新分支
$ git branch <[new-branch]>
删除分支
$ git branch -d <[branch]>
查看所有标签
$ git tag
创建新的标签
$ git tag <[tagname]>
创建带说明的标签
$ git tag -a <[标签名]> -m <[说明]>
查看标签信息
$ git show <[tagname]>
删除本地标签
$ git tag -d <[tagname]>
更新与发布
列出所有当前与远程仓库的配置
$ git remote -v
显示远程仓库的信息
$ git remote show <[remote]>
添加新的远程存储库
$ git remote add <[shortname]> <[url]>
从储存库书签下载所有历史记录
$ git fetch <[bookmark]>
将书签的分支结合到当前的分支
$ git merge [bookmark]/[branch]
把本地内容推送到远程库上
$ git push <[alias]> <[branch]>
推送标签到远程
$ git push <[tagname]>
撤销
撤回刚才的更改
$ git reset --hard HEAD
把暂存区(缓冲区)的修改撤掉
$ git reset HEAD <[file]>
撤销所有提交,在本地保留更改
$ git reset <[commit]>
保留未提交的本地更改
$ git reset --keep <[commit]>
恢复提交
$ git revert <[commit]>
合并
将指定分支的历史记录合并到当前分支中
$ git merge [branch]
保存进度
保存当前的工作进度
$ git stash
查看进度列表
$ git stash list
恢复进度
$ it stash pop stash@{num}
num 是你要恢复的操作的序号,所以你最好在回复前用git stash list查看一下。
删除所有记录
$ git stash clear