git问题汇总
文章目录
.gitnore添加的文件不起作用无法忽略
// 将要删除的文件添加到 --cached 后面
git rm --cached project1.suo
git commit -m "Delete suo file from repository"
克隆指定分支的代码
git clone -b feature/*** host-gitee:***.***.git
***feature/******是指定的分支
host-gitee是之前我们设置好的多个git源的config里面配置好的配置项,用来替代:git@gitee.com
强制推送
git push -u origin master -f
git拉取分支
git远程创建了一个分支,本地如何同步这个分支:
git fetch
git checkout -b 本地分支名 origin/远程分支名
修改commit注释信息
git commit --amend
在windows下会打开当初安装git选择的默认编辑器,编辑好后保存即可,之后正常推送。
本地创建分支推送到远程分支
$ git checkout -b feature-branch // 创建并切换到分支feature-branch
$ git push origin feature-branch:feature-branch // 推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)
远程创建分支本地拉取
$ git fetch // 先执行git fetch拉取远程分支
$ git checkout -b feature-branch origin/feature-branch // 检出远程的feature-branch分支到本地
删除的远程分支仍然显示在本地
git branch -a
仍然可以显示被删除的本地分支
可以使用下面删除掉那些已经不存在的分支:
$ git remote prune origin
删除本地和远程分支
为什么会出现上一个问题,就是因为删除分支的操作不正规。
正规操作:
1. 先切换到不需要删除的分支,然后先删除远程分支 git push origin --delete xxx
,然后删除本地分支 git branch -d xxx
2. 再使用 git branch -a
查看一下远程分支和本地分支都没有xxx了,完美。
创建并拉取远程分支到本地
git fetch origin xxx
,其中‘xxx’是远程分支名字,但是实际上我敲完会智能提醒设置一个拉取这个远程分支在本地分支的名字。
git贮藏
rebase
对于一个有着‘洁p’的人来说,分支各种开叉完全受不鸟啊,必须给我整齐划一。
闲言碎语不要讲,咱们单刀赴会,直入主题: