git常用命令
2018年02月16日 廖雪峰的git教程点击查看
删除一个已被终止的分支
如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除
git branch -d <branch_name>
删除一个正打开的分支
如果我们在试图删除一个分支时自己还没转移到另外的分支上,Git就会给出一个警告,并拒绝该删除操作。
如果坚持要删除该分支的话,就需要在命令中使用-D选项。
git branch -D <branch_name>
恢复被删除的分支
Git会自行负责分支的管理,所以当我们删除一个分支时,Git只是删除了指向相关提交的指针,但该提交对象依然会留在版本库中。
因此,如果我们知道删除分支时的散列值,就可以将某个删除的分支恢复过来。在已知提交的散列值的情况下恢复某个分支:
git branch <branch_name> <hash_val>
删除一个远程分支
git push origin -d <BranchName>
查看项目的分支们(包括本地和远程)
git branch -a
创建新分支并切换到新创建的分支
git checkout -b <newBranchName>
git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:
git branch <newBranchName>
git checkout <newBranchName>
合并指定分支到当前分支
创建新分支,完成一些操作后,切换回master分支后,会发现刚才添加的操作不见了!因为那个提交是在之前的分支上,而master分支此刻的提交点并没有变。
通过git merge命令可以合并指定分支到当前分支。合并后,再查看master分支上的内容,就可以看到,和之前新建分支的最新提交是完全一样的。
git merge <otherBranchName>
因为创建、合并和删除分支非常快,所以Git鼓励你使用分支完成某个任务,合并后再删掉分支,这和直接在master分支上工作效果是一样的,但过程更安全。
查看远程库的信息
当你从远程仓库克隆时,实际上Git自动把本地的master分支和远程的master分支对应起来了,并且,远程仓库的默认名称是origin。 要查看远程库的信息,用git remote:
git remote
// 显示
origin
或者,用git remote -v显示更详细的信息:
git remote -v
// 显示
origin git@github.com:michaelliao/learngit.git (fetch)
origin git@github.com:michaelliao/learngit.git (push)
上面显示了可以抓取和推送的origin的地址。如果没有推送权限,就看不到push的地址。
推送分支
推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上:
git push origin <branchName>