本地Git仓库和远程仓库的创建及关联 Coding.net

1. 创建远端仓库   一般,我们会使用第三方的Git远端仓库,如CODING.NET GITHUB等 注册登入流程就不说了.

1).先在远端仓库创建一个仓库,这样我们才可以把本地的文件提交到仓库中


2).点击创建新项目


2. 创建本地仓库   新建一个文件夹在桌面,我命名为:project  用来专门存储这个新建仓库的文件 

1).利用终端进入当前的文件夹目录

2).初始化这个本地的文件夹为一个Git可以管理的仓库    


注意:Git会自动为我们创建唯一一个master分支 

我们能够发现在当前目录下多了一个.git的目录(隐藏文件),这个目录是Git来跟踪管理版本库的,千万不要手动修改这个目录里面的文件

3.把本地仓库与Coding上的远程仓库关联

git remote add origin  https://git.coding.net/~~~~~.git

https://git.coding.net/~~~~~.git  是我们远程仓库的路径


4.把文件放到git仓库

1):用 git status 命令看仓库的的状态


2):git add .(把所有文件添加到仓库)   git add  (文件名)   

注意:使用git add命令添加需要上传的文件到缓存中,而不是上传过去

3):  git commit(把文件放到仓库) git commit -m "备注信息"

5.把本地库的所有内容推送到Coding远程库上    

git push -u origin master    

备注:  origin:远程仓库名字;master:分支;

注意:我们第一次push的时候,加上-u参数,Git就会把本地的master分支和远程的master分支进行关联起来,我们以后的push操作就不再需要加上-u参数了

然后输入Coding的账号和密码

这时出现了错误,如下


这里出错的原因是由于我在Coding创建项目的时候,勾选了启用Readme文件初始化项目,导致远程库有一个Readme文件即非空的仓库,本地必须先把远程的文件pull下来(git pull origin master)然后才能push (git push origin master).

1) 终端输入 git pull origin master 之后,会进入vim的编辑状态

这个界面是在pull服务器代码和你本地代码做合并的时候,让你填写合并信息的。你可以不用管。如果公司有固定的提交格式的时候你就需要: 按键盘上字母i,进入insert模式去修改最上边一行合并信息。然后在输入  :wq  保存退出即可。

 如果合并信息没有强制要求格式,有以下几种办法:

1.输入:wq   直接保存退出    (一般这个)

2.输入  :q 就是直接退出

3.在键盘上按control + z   (强制退出)


更新:最近更新了Git版本,然后关联本地库的时候pull失败,错误为fatal: refusing to merge unrelated histories,解决方案如下:
# 将之前的git pull origin master修改为一下代码
git pull origin master --allow-unrelated-histories


2)再次输入git push origin master  (git pull --rebase origin master)  就可以了 ,然后就可以在coding上看到同步了

远程操作:

假如想在另外一台电脑上继续工作,远程操作的第一步,通常是从远程主机克隆一个版本库,这时就要用到git clone命令

git clone<版本库的网址>

该命令会在本地主机生成一个目录,与远程主机的版本库同名。如果要指定不同的目录名,可以将目录名作为git clone命令的第二个参数。

git clone <版本库的网址><本地目录名>


更新 9.30: 创建分支问题

(是什么支撑你国庆节前一天还在上班,是穷吗? 是!)

五部走:分支创建  ->  切换  ->  提交  ->  合并  ->  删除

1.先创建一个新分支提交改动

$ git branch newbranch

然后输入这条命令检查是否创建成功

$ git branch

这时终端输出

  newbranch
* master

这样就创建成功了,前面的*代表的是当前你所在的工作分支。我们接下来就要切换工作分支。

$ git checkout newbranch

注:也可以使用下面的命令,相等于上面的两部;

$ git checkout -b newbranch

这样就切换完了,可以  $ git branch 确认下。然后你要将你的改动提交到新的分支上。 

 $ git add .
 $ git commit -a

此时可以  $ git status 检查下提交情况。如果提交成功,我们接下来就要回主分支了,代码和之前一样。 

$ git checkout master

然后我们要将新分支提交的改动合并到主分支上

$ git merge newbranch

合并分支可能产生冲突这是正常的,虽然我们这是新建的分支不会产生冲突,但还是在这里记录下。下面的代码可以查看产生冲突的文件,然后做对应的修改再提交一次就可以了。

$ git diff

我们的问题就解决了,接下来就可以push代码了。

$ git push -u origin master

新建分支的朋友别忘了删除这个分支,不放心的话可以git branch查看下。

$ git branch -D newbranch

如果想保留分支只是想删除已经合并的部分只要把大写的D改成小写的d就行了。



<think>好的,用户遇到了在添加远程仓库时提示“error: remote origin already exists.”的问题。我之前已经给出过类似问题的解决方法,现在需要仔细分析用户当前的情况,并给出合适的回答。 首先,用户执行了命令`git remote add origin git@e.coding.net:g-awjn8013/qtdatabase/Database.git`,但提示远程origin已经存在。这说明用户之前可能已经关联过名为origin的远程仓库,或者可能是在初始化仓库时自动设置的。 我需要回忆之前的教程中提到的解决方案。在常见问题部分,第一个问题就是关于remote origin already exists的错误,解决方法是先删除旧的origin,再重新添加。用户可能按照之前的步骤操作,但可能没有完全理解或者操作有误。 接下来,我需要考虑用户可能的操作场景。用户已经完成了SSH密钥绑定,并且可能已经创建仓库,但可能在尝试关联远程仓库时重复添加了origin。这时候,用户需要知道如何正确替换现有的origin或者更新URL。 可能的解决方案包括: 1. 删除现有的origin,然后重新添加。 2. 或者直接更新现有origin的URL,如果用户只是想更改远程仓库地址的话。 需要确认用户是想替换原有的origin,还是原本的origin有误需要修正。因此,在回答中应该提供两种方法,并解释各自的适用情况,让用户根据自己的需求选择。 另外,用户可能不太清楚如何查看当前已有的远程仓库信息,所以需要指导他们使用`git remote -v`来查看现有的远程配置,这样他们可以确认是否origin已经指向了另一个仓库,或者URL是否有误。 还需要注意,如果用户之前设置的origin是正确的,但想添加另一个远程仓库,建议使用不同的名称,比如`origin2`或者其他,而不是覆盖原有的origin。但根据用户的命令来看,他们可能确实是想替换origin,所以重点放在删除重新添加的步骤上。 同时,需要提醒用户,删除origin会移除之前的关联,所以在操作前要确认是否需要保留原有的配置。如果用户是在重新初始化项目,可能需要覆盖;如果是想保留多个远程仓库,则应该用不同的名称。 最后,给出具体的命令示例,并分步骤说明,确保用户能够按步骤操作,避免混淆。例如,先删除origin,再添加新的,然后验证是否正确设置。这样用户可以一步步执行,减少出错的可能。</think>遇到 `error: remote origin already exists.` 错误,说明你的本地 Git 仓库已经关联过名为 `origin` 的远程仓库。以下是解决方法: --- ### 分步操作: #### 1. **查看当前关联远程仓库** 输入以下命令,确认现有的 `origin` 指向的地址: ```bash git remote -v ``` 输出示例: ``` origin git@旧地址 (fetch) origin git@旧地址 (push) ``` #### 2. **删除旧的远程仓库关联** 移除已存在的 `origin`: ```bash git remote remove origin ``` #### 3. **重新关联新的远程仓库** 添加正确的 CODING 仓库地址: ```bash git remote add origin git@e.coding.net:g-awjn8013/qtdatabase/Database.git ``` #### 4. **验证是否关联成功** 再次运行 `git remote -v`,检查新地址是否生效: ``` origin git@e.coding.net:g-awjn8013/qtdatabase/Database.git (fetch) origin git@e.coding.net:g-awjn8013/qtdatabase/Database.git (push) ``` --- ### 其他情况处理: #### 如果不想删除旧的 `origin` - 可以改用其他名称关联仓库(例如 `coding`): ```bash git remote add coding git@e.coding.net:g-awjn8013/qtdatabase/Database.git ``` - 后续推送时指定名称: ```bash git push -u coding main # 推送时使用 coding 代替 origin ``` #### 如果旧地址需要保留 - 直接更新 `origin` 的 URL(不删除旧的): ```bash git remote set-url origin git@e.coding.net:g-awjn8013/qtdatabase/Database.git ``` --- ### 总结: - **核心问题**:本地仓库已存在同名的远程地址 `origin`。 - **解决方法**:删除旧关联 → 重新绑定新地址,或改用其他名称绑定。 - **关键命令**: ```bash git remote remove origin # 删除旧的 git remote add origin [新地址] # 添加新的 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值