工作中常用的git命令,整理分享一下。
删除掉本地不存在的远程分支
多人合作开发时,如果远程的分支被其他开发删除掉,在本地执行 git branch --all 依然会显示该远程分支,可使用下列的命令进行删除:
使用 pull 命令,添加 -p 参数
$ git pull -p
等同于下面的命令
$ git fetch -p
$ git fetch --prune origin
项目中常用的操作
// 首先需pull远程仓库中的代码
git pull
// 再进行添加、提交到本地
git add .
git commit -m 'a'
// 推送到远程仓库
git push -u
将本地分支推送到仓库
git checkout ly
git push --set-upstream origin ly
将远程git仓库里的指定分支拉取到本地(本地不存在的分支)
git checkout -b 本地分支名 origin/远程分支名
这个将会自动创建一个新的本地分支,并与指定的远程分支关联起来。
例如远程仓库里有个分支dev2,我本地没有该分支,我要把dev2拉到我本地:
git checkout -b dev2 origin/dev2
若成功,将会在本地创建新分支dev2,并自动切到dev2上。
如果出现提示:
fatal: Cannot update paths and switch to branch 'dev2' at the same time.
Did you intend to checkout 'origin/dev2' which can not be resolved as commit?
表示拉取不成功。我们需要先执行
git fetch
然后再执行
git checkout -b 本地分支名 origin/远程分支名
git强制提交本地分支覆盖远程分支
git push origin 分支名 --force
eg:
cd 代码目录
git push origin master --force
删除本地及远程分支
// 删除本地分支
git branch -d 分支名
// 删除远程分支
git push origin --delete 分支名
// 查看删除后的分支
git branch -a
清理远程已删除,本地还能看见的远程分支
// 查看本地与远程分支的追踪关系
git remote show origin
// 清理该分支
git remote prune origin
分支操作
// 添加分支并切换分支
git branch ly
git checkout ly
// 等同于
git checkout -b ly
// 创建分支等同于将当前(master)分支上的文件复制一份到分支上
// 修改完分支上的内容提交并到主分支上进行合并
git commit -a -m 'a'
git checkout master
git merge ly
// 合并完可以删除子分支
git branch -d ly