常用git指令

git checkout -b newBranchName  //与当前分支内容相同!
git checkout -b 本地分支 origin xxx//远程分支 在本地新建一个分支,并把远程分支的代码同步到该分支
git stash
git stash pop
git checkout branchName //切换分支
git commit -a -m ""   //default -m is essential   此时无需 git add  
git branch -v //显示所有分支
git status //查看git当前状态 工作树是否clean
git log //查看commit 版本
git reflog //关闭终端后 查看不同的commit号码
git push origin :br // (origin 后面有空格)  删除远程分支 用空白替代
git reset --hard commit-id
//回滚到commit-id,将commit-id之后提交的commit都去除 本地代码库回滚:git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id
git push origin A:B    //本地分支A 推到 远程分支B 此时名称不同 
git branch -D dev  //delete branchd ev 无法删除当前分支 需要切换分支方可
git merge Luyu    //将Luyu merge到当前分支 git merge用于合并指定分支到当前分支
git fetch //本地所有的远程分支的副本指向git上的远程分支,强制更新 不merge
git fetch dev //本地远程dev分支的副本指向git上的远程分支 常用套路:
//push之前1.先把当前的版本提交 2.把对应名称的远程库pull下来,解决冲突,然后再push git commit -a -m "comments" git pull origin 20170512-1509-settle git push origin 20170512-1509-settle //origin 代表远程库 ci->refresh ->deploy //想无视当前修改的code 而且不想commit pull最新的code git stash git pull origin 20170512-1509-settle ok! tip1:推送失败,因为你的小伙伴的最新提交和你试图推送的提交有冲突,解决办法也很简单,Git已经提示我们, 先用git pull把最新的提交从origin/dev抓下来,然后,在本地合并,解决冲突,记得解决冲突之后再次commit,再推送: tip2:无法push问题 将.git文件中的 config url改为ssh方式 tip3:git pull = git fetch + git merge fetch和push命令可以分别对远程分支进行fetch和push操作,而pull不是直接跟远程分支对话的。 fetch同pull的区别在于:git fetch:是从远程获取最新版本到本地,不会自动merge 而git pull是从远程获取最新版本并merge到本地仓库 从安全角度出发,git fetch比git pull更安全,因为我们可以先比较本地与远程的区别后,选择性的合并。
原文地址:https://www.cnblogs.com/luyu1993/p/7011313.html