一、常用命令
-
远程仓库相关命令
-
$ git clone git@git.oschina.net:smallgan/git-test.git
克隆远程仓库到本地,本地会创建一个名为git-test的文件夹,作为本地仓库的根目录 -
$ git remote -v
显示可抓取和可推送的远程仓库信息(包括仓库名和URL地址) -
$ git remote
显示远程仓库名称 -
$ git remote add [name] [url]
添加远程仓库,是指使用了 git init 初始化本地仓库后关联到远程仓库的操作,一个本地仓库可关联多个远程仓库 -
$ git remote rm [name]
删除本地关联的远程仓库,name指的是在本地记录的远程仓库别名 - `$ git remote set-url --push [name] [newUrl]** 修改远程仓库
-
$ git pull [name] [remote-branch-name]:[local-branch-name]
同步添加的远程仓库的分支到本地 -
$ git push [name] [local-branch-name]:[remote-branch-name]
推送本地某分支到远程的某分支 -
$ git push --set-upstream origin master
推送本地的workspace所在当前分支到远程的指定分支 -
$ git push origin [remote-branch-name]
推送当前本地分支到远程并创建相应的远程分支 -
$ git push origin :[remote-branch-name]
删除远程分支
-
-
本地仓库相关命令
-
$ git status
提示当前分支的状态并给出下一步操作的建议 -
$ git add [ . | file]
添加当前已修改的文件或者新的文件到index -
$ git commit -m "modify this file"
提交add到index中的文件到本地仓库 -
$ git log 输出当前工作分支(workspace)
上的历史提交记录 -
$ git branch
查看本地分支 -
$ git branch -r
查看远程分支 -
$ git branch -a
查看本地和远程分支 -
$ git branch [local-branch-name]
创建本地分支但不会切换到该分支 -
$ git branch -d [local-branch-name]
删除本地分支,只能删除已经合并的分支 -
$ git branch -D [local-branch-name]
强制删除一个本地分支 -
$ git checkout [local-branch-name]
切换本地分支 -
$ git checkout -b [local-branch-name]
创建并切换到该本地分支 -
$ git checkout hash workkspace
切换到某一次提交记录,此时会创建一个临时分支 -
$ git merge [local-branch-name]
合并该分支到当前分支 -
$ git diff hash hash
比较两次提交节点(累计差异)之间产生的差异并列出
-
-
标记版本相关命令
-
$ git tag
列出所有本地的版本标签 -
$ git tag [tagname]
在当前节点处创建本地版本标签 -
$ git tag [tagname] hash
在某次提交节点处创建本地版本标签 -
$ git push origin [tagname]
创建远程版本标签(push到远程) -
$ git push origin :refs/tags/tagname
删除远程某个版本标签 -
$ git pull origin --tags
合并远程的版本标签到本地 -
$ git push origin --tags
推送本地所有版本标签到远程 -
$ git tag -a [tagname] -m "message"
创建带注释的本地版本标签
-
二、非常用命令
-
git revert hash
还原某次的提交,会生成一次提交,将目标提交进行抹除 -
git rebase
使当前分支的基于某次提交的节点发生改变,从而使当前的分支发生变化 -
git reset hash
使当前分支的workspace完全回滚到某次提交,也就是抹除某次提交之后的所有提交 -
git stage
将当前未提交的工作(add到index中的部分)暂存在Git工作栈,等到需要时再应用回来 -
git config
新增、更改git的各种设置
hash 上文中hash指的是某次提交,每一次提交会生成一个唯一的hash值,经测试,使用这个hash值的前4个字符就可以标识本次提交
参考推荐:
代码管理Git-常用命令详解
网友评论