关于git 使用的一些摘录和总结

1, 使用github 作为远程仓库

2,linux   是代码运行测试平台。这个平台放两套代码。一套是正式运行代码,一套开发测试代码

    两套代码都连接远程仓库。

3,windows 本地用git 管理代码。

    从  github  克隆代码到windows本地,用zend studio 编辑代码,zend studio 远程链接开发测试代码,同时用tortoise  git在本地做版本管理,zend studio实时同步

   一套开发测试代码。开发测试平台验证成功后。tortoise  git push 到远程仓库。 

  正式运行平台 pull 仓库做更新。

------------------------------------------------------------------

今天在克隆的仓库做提交出现了

fatal: does not appear to be a git repository

 最终解决办法是 先删除远程链接

 git remote rm origin
再建立一次远程链接
 git remote add origin git@github.com:djqiang/gitdemo.git
然后再push
再 push 的时候又出现了

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'

----------------------------

我是采用 -f 的方式强行覆盖的

git push -f

 --------------------------

也可以用这个方法

2. 先把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你的代码吧。

原文地址:https://www.cnblogs.com/frankiephp/p/7093490.html