将已有项目绑定到git上

有时候会现在本地创建了工程,开始写代码,写到一定时候想要传到git上,就可以用上本教程了

0 前述

1 创建远程仓库

  • 登录github,在上边创建一个仓库
  • 复制仓库链接,比如为git@github.com:alex-my/some-project.git

2 初始化本地仓库

  • 进入本地项目执行以下命令

    // 初始化本地仓库
    git init
    // 添加全部文件
    git add .
    // 提交到本地仓库
    git commit -m "提交说明"
    

3 本地仓库与远程仓库绑定

  • 绑定到远程仓库,并提交

    // 绑定,并取一个别名,通常用origin,后面的地址是前边创建的远程仓库地址
    git remote add origin git@github.com:alex-my/some-project.git
    // 把本地仓库地址提交到远程仓库
    git push -u origin master
    

4 修改本地仓库,并提交到远程仓库

  • 假设修改了README.md文件

    // 在根目录或者在文件所在目录执行
    git add .
    // 查看变动
    git status
    // 提交到本地仓库
    git commit -m "modify reade.md"
    // 如果是多人合作的项目,请先pull
    git pull
    // 推送到远程仓库(第一个使用默认,作用和第一个一样)
    git push
    git push origin master
    

5 仓库别名

  • 如果有多个仓库或者多个分支,在推送或者拉取的时候需要注意

    git pull 仓库别名 仓库分支
    git push 仓库别名 仓库分支
    
### 如何重新关联项目Git仓库 当需要更换项目的远程Git仓库时,可以通过一系列操作来实现重新绑定。如果已经有一个本地的Git仓库并希望将其指向一个新的远程仓库,则应先移除当前的远程链接再添加新的。 对于已存在的本地Git仓库,要解除现有的远程连接可使用如下命令: ```bash git remote rm origin ``` 之后为了建立与新远程仓库之间的联系,需执行下面这条语句,并替换`xxx`为实际的目标仓库URL[^4]: ```bash git remote add origin xxx(需要关联的新仓库地址) ``` 完成上述两步后,建议拉取最新的改动以确保本地代码是最新的版本: ```bash git pull ``` 最后为了让本地分支能够追踪到对应的远端分支,还需要设定上游分支关系。这里假设目标是让本地的`master`分支跟踪远程同名分支的话,那么应该运行这样的指令: ```bash git branch --set-upstream-to=origin/master master ``` 同样的道理也适用于其他任何想要同步的分支,比如开发中的`dev`分支: ```bash git branch --set-upstream-to=origin/dev dev ``` 一旦完成了这些准备工作,就可以通过推送的方式把本地变更发送给新的远程仓库了。如果是第一次向该位置推送或者想指定默认推送分支,可以加上参数`--set-upstream`: ```bash git push --set-upstream origin master ``` 这样就实现了将现有项目重新关联到了另一个Git仓库的目的。 #### 如果遇到`.git`文件夹丢失的情况 假如不小心删除了整个`.git`子目录而失去了所有的版本控制信息,在这种情况下要想恢复对某个特定远程仓库的关联,就需要按照以下流程来进行处理[^5]: 1. 清理残留的旧版控制系统痕迹(如果有) ```bash rm -rf .git ``` 2. 对于非空的工作区来说,这一步骤是为了防止误删重要数据;而对于干净的工作空间则可以直接跳过此步骤。 3. 将工作树转换成受Git管理的状态 ```bash git init ``` 4. 创建主干分支以便后续的操作能顺利开展 ```bash git branch -m master ``` 5. 把所有未被纳入版本历史记录的内容加入暂存区等待提交 ```bash git add * ``` 6. 提交初始状态作为起点 ```bash git commit -m '初始化' ``` 7. 获取来自服务器上的最新资料并与之合并 ```bash git pull ``` 8. 设置好本地分支和远程分支间的映射关系 ```bash git branch --set-upstream-to=origin/master master ``` 9. 强制覆盖式推送至目的地点 ```bash git push -uf origin master ``` 以上就是针对不同场景下的解决方案概述,具体实施过程中可能还会涉及到更多细节调整,请根据实际情况灵活运用。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值