Git常用命令
** 生成rsa-key
ssh-keygen -t ssh-rsa -C "uername@email.com"
** 创建版本库
$ git init
** 验证github是否开通
$ ssh -T git@github.com
Hi tianqixin! You've successfully authenticated, but GitHub does not provide shell access.
** 添加远程仓库
$ git remote add your-origin git@github.com:yourGithubAccount/yourGit.git
your-origin 这个是远程库的名称,可以改成别的名称
** 推送本地库的所有内容到远程仓库上
$ git push -u your-origin master
这是把本地当前名叫 master 的分支添加到远程库,第一次推送加 -u 参数,以后不需要加
$ git push your-origin master
** 从远程分支拉取更新到本地(如果推送到远程失败,先用git pull获取远程的新提交)
$ git pull
** 提取远程仓库本到地
$ git fetch your-origin
$ git merge master
** 检出-从远程检出分支本到地
$ git clone git@github.com:yourGithubAccount/yourGit.git
** 检出到子目录
$ git clone git@github.com:yourGithubAccount/yourGit.git subdir
** 本地分支与远程分支建立连接关系
$ git branch --set-upstream branch-name remote/branch-name
** 删除远程仓库
$ git remote rm your-origin
** 添加新增和修改的单个文件
$ git add readme.txt
** 添加新增和修改的所有文件
$ git add *
** 删除文件
$ git rm readme.txt
** 提交修改到版本库
$ git commit -m "提交说明"
** 查看状态
$ git status
** 查看修改的内容
$ git diff readme.txt
** 查看修改日记
$ git log
** 返回到某个指定的版本
$ git reset --hard 版本编号
$ git reset --hard head~版本序号
** 撤销提交
$ git checkout -- readme.txt
"--"符号不能漏掉,否则就不是撤销修改,而是切换到别的分支了
或者用reset命令撤销
$ git reset head readme.txt
** 撤销当前分枝的所有修改
git checkout -- .
** 创建本地分支
$ git checkout -b branchName
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
$ git branch branchName
$ git checkout branchName
** 查看本地分枝
$ git branch
** 查看远程分枝
$ git branch -a
** 创建远程分支到本地
$ git checkout -b local-branchname origin/remote_branchname
** 切换分支
git checkout branchName
** 合并分支-- 快速合并(把branchName分支合并到当前分支)
$ git merge branchName
** 合并分支--普通合并(有合并记录)
$ git merge --no-ff -m "merge with no-ff" branchName
** 删除分支
$ git branch -d branchName
** 隐藏工作区
% git stash
如果分支有未提交的改动,则不能切换分支,使用git Stash后可以切换分支,在切换的分支上做修改或创建新的分支
** 恢复工作区
$ git stash list //查看工作区
$ git stash apply //恢复工作区
$ git stash drop //删除工作区
$ git stash pop //恢复工作区并删除工作区内容
$ git stash apply stash@{0} //恢复指定的工作区,如果有多个