git push 首次推送异常

文章描述了在Git中遇到的首次推送错误,提示没有共同引用和未指定分支。解决方法是使用`gitpushoriginmaster`明确推送目标。还提到了检查并合并远程分支的必要性。

git push异常具体如下(一般发生在首次推送):
No refs in common and none specified; doing nothing. Perhaps you should specify a branch such as 'master'

没有指定推送到哪个分支里去。
解决方案:使用 git push origin master 可以指定推送该远程库的主分支去

git init

git remote add origin http://dev.gitlab.com/root/test.git

git add .

git commit -m "init file

git push origin master

error: failed to push some refs to 'http://dev.gitlab.com/root/test.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

git checkout master
git pull origin master  或者 git pull origin master --allow-unrelated-histories

### 使用方法 当开发者在本地对提交历史进行了修改,如合并、删除或修改提交信息后,本地分支与远程分支的历史记录会不一致,此时使用普通的 `git push` 命令无法推送,就需要用到 `git push --force` 来强制推送。`-f` 参数也表示强制推送,其基本命令格式如下: ```bash git push --force <remote> <local-branch>:<remote-branch> ``` 或者使用简写形式: ```bash git push <remote> <local-branch>:<remote-branch> -f ``` 其中,`<remote>` 通常是 `origin`,代表远程仓库;`<local-branch>` 是本地分支的名称;`<remote-branch>` 是远程分支的名称。 例如,要将本地的 `dev` 分支强制推送到远程的 `master` 分支,可以使用以下命令: ```bash git push origin dev:master -f ``` 如果希望彻底删除远程仓库中的某些提交,可以使用 `git reset` 来回滚本地提交,然后使用 `git push --force` 强制推送到远程仓库,示例如下: ```bash git reset --hard <commit-hash> # 回滚到指定提交 git push --force origin <branch-name> # 强制推送到远程仓库 ``` ### 注意事项 强制推送会覆盖远程分支的提交记录,可能会导致远程分支的历史记录被修改或丢失,因此需要谨慎使用。具体注意事项如下: - 在推送代码前,需要先确认本地分支的状态,并确保代码无误。 - 避免在多个人同时操作同一个分支时使用强制推送,以免引起代码冲突的问题。可以使用 Git 分支管理功能,将代码分支化,避免代码冲突。 - 如果需要强制推送,要先确认代码无误,并告知其他协作者。 - 一般情况下,`master` 分支是受保护的,没有权限的人员不能随便合并分支,更不能随便覆盖。若要将本地分支强制推送到受保护的 `master` 分支,需先到仓库配置里关闭受保护权限(`setting => repository => protected branch => master 【unprotected】`),覆盖完成之后需要重新将 `master` 分支保护起来 [^4]。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值