SHU-PV-Blue / Issues

无具体功能的项目,用于创建和更新团队日常事务工单,和共享一些文件。
0 stars 1 forks source link

千万不要轻易--强推!!!! #8

Closed wolfogre closed 8 years ago

wolfogre commented 8 years ago

强推:就是git push-f 参数,比如git puah -f origin masten 强推的效果:

覆盖仓库上的文件 覆盖掉之后,原来仓库的文件就会丢失,而仅保存当前push的文件

这样,如果当前push跟仓库文件有较大出入的话就GG了

推送之前,先git pull origin master把仓库文件拉取,合并,在push

参考ITeye博客

以下是原文


在使用git 处理对android的修改的过程之中总结的.但不完善

Git push $ git push origin test:master // 提交本地test分支作为远程的master分支 $ git push origin test:test // 提交本地test分支作为远程的test分支 如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。

$ git push origin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心。 举个例子: git push origin :origin/Android_HK_K501_77-W916 //由于:前面为空所以本来在服务器上面存在的分支origin/Android_HK_K501_77-W916和Android_HK_K501_77-W916现在就只有一个了,因为分支origin/Android_HK_K501_77-W916被删除了,但是本地的还在

常见错误: 1.error:failed to push some refs to ... 当要push代码到git时,出现提示: error:failed to push some refs to ... Dealing with “non-fast-forward” errors From time to time you may encounter this error while pushing: $ git push origin master To ../remote/ ! [rejected] master -> master (non-fast forward) error: failed to push some refs to '../remote/' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes before pushing again. See the 'non-fast forward' section of 'git push --help' for details.

问题(Non-fast-forward)的出现原因在于:git仓库中已经有一部分代码,所以它不允许你直接把你的代码覆盖上去。于是你有2个选择方式:

强推,即利用强覆盖方式用你本地的代码替代git仓库内的内容 git push -f

  1. 先把git的东西fetch到你本地然后merge后再push $ git fetch $ git merge 这2句命令等价于 $ git pull 可是,这时候又出现了如下的问题: 上面出现的 [branch "master"]是需要明确(.git/config)如下的内容 [branch "master"] remote = origin merge = refs/heads/master 这等于告诉git2件事: 1,当你处于master branch, 默认的remote就是origin。 2,当你在master branch上使用git pull时,没有指定remote和branch,那么git就会采用默认的remote(也就是origin)来merge在master branch上所有的改变 如果不想或者不会编辑config文件的话,可以在bush上输入如下命令行: $ git config branch.master.remote origin $ git config branch.master.merge refs/heads/master 之后再重新git pull下。最后git push你的代码吧。

错误信息:error: object file .git/objects/c6/884991eaac39417e314faa6685061eab18909d is empty fatal: loose object c6884991eaac39417e314faa6685061eab18909d (stored in .git/objects/c6/884991eaac39417e314faa6685061eab18909d) is corrupt 解决方法: 1 rm .git/objects/c6/884991eaac39417e314faa6685061eab18909d

2 .git fsck --full

3.git reflog log