总结一下git的常用命令,以便遗忘时查找
基本用法
配置用户信息
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
创建Git仓库(此时会产生一个.git目录,git用来管跟踪管理版本库)
$mkdir xxx 创建空目录
$cd xxx 进入xxx目录
$pwd 显示当前目录
$git init 初始化git仓库,让git可以管理这个仓库
添加文件到git仓库
$git add. 将当前目录下所有修改、新增文件从工作区添加到暂存区
$git add -u 将当前目录下所有修改、删除的文件从工作区添加到暂存区,这些被删除的文件被推送到服务器的
仓库后就直接从git系统中消失了
$git add -A 将当前目录下所有修改、删除、新增的文件从工作区添加到暂存区
$git commit -m "此处写提交描述" 将暂存区的文件提交到本地仓库
查看本地仓库状态
$git status 查看工作区的状态,哪些文件被修改过
$git diff 查看文件修改内容
版本回退
$git log 查看提交历史
$git reset --hard commit_id 回退到版本号为commit_id的版本,也可以用HEAD^,表示上一个版本,
HEAD^^表示上上个版本,也可以用数字表示,比如上上个版本HEAD~2
$git reflog 查看未来的版本,也就是没有回退之前的版本,然后选择需要回退的版本号
撤销修改
$git checkout -- xxx 撤销工作区的xxx文件的修改
$git reset HEAD xxx 撤销暂存区的xxx文件的修改
如果需要撤销本地仓库的xxx文件修改,就使用版本回退
撤销删除
$git rm xxx 恢复删除的xxx文件(从版本库中恢复)
分支(创建、切换、查看、合并、删除)
$git branch <name>创建分支
$git checkout <name>切换分支
$git checkout -b <name>切换并创建分支
$git branch 查看分支,*表示当前分支
$git merge <name>合并某分支到当前分支
$git checkout -d <name>删除分支
$git checkout -D <name>强行删除分支(当分支没有被合并时)
储藏工作现场
$git stash 储藏工作现场
$git stash list 查看储藏的工作现场
$git stash apply 恢复现场,储藏内容仍然保留
$git stash drop 删除储藏内容
$git stash pop 恢复现场,并删除储藏内容
推送与拉取
$git push origin <分支名>推送分支到远程
$git pull 拉取远程分支
$git checkout -b <name> origin/<name> 在本地创建与远程分支对应的分支
$git branch --set-upstream <name> origin/<name> 关联本地分支和远程分支
$git remote -v 查看远程分支的信息
$git fetch origin <name> 拉取远程分支到本地
$git pull origin <name> 拉取远程某个分支的内容到本地