Git使用之——Git使用方式以及常见错误解决

一、git基本命令

git基本命令详见上篇博文《Git使用之——Git基本命令》,https://blog.csdn.net/ltt2130/article/details/100124920,这里不再赘述。

二、git常见使用方式

git常见的使用方式有两种,具体如下:

(1)直接在本地新建一个文件夹,不需要初始化,然后通过git clone命令将远端的git仓库克隆下来,本地的文件夹就成了本地仓库,并且与远程仓库已经建立了连接,命令如下:git  clone  +  远程仓库地址。

所以如果要将本地的代码提交到远端git,可以先在Github或者GitLab上新建仓库,然后在本地先建立一个空文件夹,将远端的仓库clone下来到本地,然后再将需要推送的代码拷贝到本地的git仓库中,再进行提交即可。

(2)另外的一种方式是,将本地的代码目录直接作为本地仓库初始化,然后与远程的仓库相关联即可,步骤如下:

a、使用 “ git init ” 命令初始化本地代码目录为本地仓库;

b、在GitLab或者Github上创建远程仓库;

c、使用 “ git remote add origin  +  远程仓库地址”将本地仓库和远程仓库关联(可以通过git remote -v来查看关联情况);

然后就可以进行相关的操作,比如add、commit 、push 等操作。

三、git常见问题

(1)Updates were rejected because the remote contains work that you do not have locally

这个问题常见于上面提到的使用方式的第二种,当本地仓库和远程仓库相关联之后,由于在远程git创建的时候默认创建了其他的文件,比如“README”文件,然后当你关联之后进行推送的时候,系统会提示拒绝更新到远程库。

原因在于:本地仓库和远程仓库实际上是独立的两个仓库。如果你的远程仓库里面有A,但是本地仓库只有B,没有A,系统认为其他地方推送了A到远端git,导致本地的git不是最新的,这就需要先通过git pull origin master (--allow-unrelated-history) 命令将远端git合并到本地,然后再进行推送即可。

(2)fatal: refusing to merge unrelated histories(拒绝合并不相关的历史)

在上一个问题的解决办法中,我提到先将远端git仓库pull到本地进行合并,在进行提交,但是如果用“git pull origin master”命令来拉取,就会报如上所示错误,因为对于本地仓库来说,远端仓库中的A,不是本地提交上去的,是不认识的提交历史,所以是拒绝合并的,但是我们通过添加“--allow-unrelated-history” 来强行的将不相关的历史合并,即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值