在自己的世界里独善其身, 在别人的世界里顺其自然。
删除远程分支
# 方法一:
git push origin --delete branchName
#方法二:推送一个空分支到远程分支,其实就相当于删除远程分支
git push origin :branchName
查看本地分支与远程分支关联情况
git branch -vv # 查看本地分支与远程分支关联情况
git branch # 查看本地分支
git branch -a # 查看所有分支(包括本地和远程)
git branch -r # 查看远程分支
本地分支与远程分支关联
# 创建关联
git branch --set-upstream-to origin/remote-branch
# 过期了,可能不可用
git branch --set-upstream local-beanch origin/remote-branch
# 如果是通过fetch新建的分支,默认会自动创建关联,如:
1.获取远程分支
git fetch origin branch-name
2.根据拉取的远程分支新建一个分支
git checkout -b new-brranch-name origin/branch-name
3.新分支已经和对应的远程分支相关联,可直接(当只有一个):
git pull
git push
详细:http://www.ruanyifeng.com/blog/2014/06/git_remote.html
不管是否存在对应的远程分支,将本地的所有分支都推送到远程主机
git push --all origin # 远程主机为origin
强制push本地分支覆盖远程分支
git push --force origin # 若只有一个远程主机,origin可不写
git stash
git stash/git stash push # 新建一个储藏,直接执行git stash等同于git stash push
git stash push -u # -u是--include-untracked的简略形式,此命令可以将未跟踪文件一并存储。
git stash push -a # -a是--all的简写形式,规定被修改的文件连同被忽略文件也被存储起来
git stash push -k # -k是--keep-index简略形式,表示不重置暂存区,默认值是--no-keep-index
git stash list # list [<options>] 展示当前存储库中的存储单元列表.
git stash show # show [<stash>] 展示存储单元和最新提交的diff结果.如果没有给定<stash>参数时,会对比最新的存储单元.
git stash pop # pop [--index] [-q|--quiet] [<stash>]移除单个存储单元.
git stash apply # 用于重新存储
git stash drop stash@{1} # 删除指定储藏
git stash clear # 删除所有储藏
1.git stash push 和 git stash save的区别:
git stash save 不能精确到某路径,即git stash save abc/test.txt
依然会储藏当前所有的改动,而git stash push abc/test.txt
将只储藏abc/test.txt
的改动,其他文件的改动并不储藏。一般推荐使用git stash push
2.参考:
-
git stash: https://www.softwhy.com/article-8628-1.html
-
git stash push和git stash pop的区别:https://www.softwhy.com/article-8630-1.html
重置暂存区,使.gitignore
文件配置生效
如果远程已经存在对应的文件(想要ignore的),这时直接在.gitignore
文件添加使不生效的,可以使用:
git rm --cached 对应文件 # 重新add和commit
git rm -r --cached . # 这是全部删掉重新add和commit