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更安全,因为我们可以先比较本地与远程的区别后,选择性的合并。