git 克隆拉取推送项目到本地

本文介绍了Git项目克隆、推送和拉取的操作方法。首先需有Git账号和客户端,进行SSH-key的客户端配置,包括生成key、复制公钥到GitHub等。接着可克隆项目到本地,还说明了添加、提交、推送文件到仓库以及拉取更新文件到本地的命令。

克隆项目到本地

需要有一个git账号,git客户端
首先进行ssh-keyd的客户端配置
1、生成key:ssh-keygen -t rsa -C “邮箱地址”;
2、用户目录下的.ssh文件夹增加id_rsa和id_rsa.pub文件cat id_rsa.pub查看公钥内容
3、复制id_rsa.pub的公钥内容到github网站中,登陆github,点击头像选择Setting,找到SSH and GPG keys,选择new SSH key,把公钥复制到key

配置sshkey
1、进入.ssh文件夹
2、vim config
3、添加Host/HostName/User/IndentityFile
在这里插入图片描述
克隆
1、github上存在repository
2、选择你要克隆的项目,点击头像, 点击your profile,点击要拉取的项目
复制下图链接(HTTPS和SSH都可以),HTTPS是用户名和密码的方式,SSH是密钥私钥的方式在这里插入图片描述
3、在.ssh的工作目录下创建新文件夹,用于存放克隆的项目;输入git clone +复制的链接,回车
在这里插入图片描述
添加文件到仓库:git add +文件名
提交文件到仓库:git commit -m “这是更新的注释内容”
推送文件到仓库:git push
拉取更新文件到本地:git pull

<think> 我们正在讨论的是git克隆的区别。根据引用内容,我们可以总结如下: 1. **克隆(Clone)**: - 用于从零开始获整个远程仓库的所有数据(包括所有分支和历史记录)到本地,创建一个新的本地仓库副本。 - 命令:`git clone <远程仓库地址>` - 例如:`git clone git@gitee.com:lu2964213324/pull-test.git`(引用[2]) - 克隆操作会自动设置远程跟踪分支(origin/master等)和默认的远程仓库别名(origin)。 2. **(Pull)**: - 用于更新已经存在的本地仓库,将远程仓库的最新更改(如新提交)下载到本地仓库,并尝试合并到当前分支。 - 命令:`git pull <远程仓库> <远程分支>` - 例如:`git pull origin master`(引用[1]和[3]) - 操作实际上是两个操作的组合:`git fetch`(获远程更新)和`git merge`(合并到当前分支)。 **核心区别**: | 特性 | 克隆(Clone) | (Pull) | |--------------|-----------------------------------------|----------------------------------------| | **使用场景** | 首次获远程仓库本地仓库时) | 更新已有本地仓库(已有克隆仓库时) | | **操作范围** | 整个仓库(所有分支和历史) | 当前分支(或指定分支)的更新 | | **本地要求** | 本地不能存在同名目录(否则会失败) | 必须在已有仓库目录内执行 | | **远程设置** | 自动设置远程别名(origin) | 依赖已设置的远程仓库别名 | | **等效操作** | `git init` + `git remote add` + `git fetch` + `git checkout` | `git fetch` + `git merge`(或`git rebase`) | **详细说明**: - **克隆**: - 当你需要从远程仓库一个全新的副本时使用克隆。它会将整个仓库下载到本地,包括所有分支(但默认只检出master或主分支,其他分支需要单独检出)和所有历史记录。 - 克隆后,会自动创建指向远程仓库的指针(称为远程跟踪分支,如`origin/master`),并设置一个名为`origin`的远程仓库别名。 - 克隆操作只需要执行一次,以后就可以在这个本地仓库中进行推送操作。 - ****: - 当本地已经有一个克隆仓库,并且你想要获远程仓库的最新更改(比如其他团队成员提交的代码)时使用。 - 实际上是两个步骤的组合: 1. `git fetch`:从远程仓库最新的对象(提交、分支等)到本地,但不会修改你的工作目录。 2. `git merge`:将远程跟踪分支(例如`origin/master`)的更改合并到当前分支。 - 也可以使用`git pull --rebase`来变基而不是合并。 **使用示例**: 1. **克隆**(第一次获项目): ```bash git clone https://gitee.com/user/project.git cd project # 进入新创建的project目录 ``` 2. ****(后续更新): ```bash git pull origin master # 远程master分支并合并到当前分支 ``` **注意事项**: - 在之前,建议先提交或暂存本地的更改,避免合并冲突。 - 如果远程仓库有新的分支,你可以通过`git fetch`获这些分支的信息,然后使用`git checkout -b <新分支名> origin/<新分支名>`(引用[4])来在本地创建并切换到该分支。 **引用说明**: - 克隆操作在引用[1][2]中都有提到,是首次获代码的方式。 - 操作在引用[1][2][3]中都有描述,用于更新已有代码。 §§相关问题§§ 1. 如何从远程仓库克隆特定分支? 2. `git pull` 和 `git fetch` 有什么区别? 3. 如何解决代码时的合并冲突? 4. 克隆仓库后如何切换远程分支? </think>### Git 克隆(Clone)与(Pull)的区别详解 #### 一、核心区别对比表 | **特性** | **克隆(Clone)** | **(Pull)** | |------------------|--------------------------------------------|-------------------------------------------| | **使用场景** | 首次获远程仓库 | 更新已有本地仓库 | | **操作对象** | 整个仓库(所有分支和历史) | 当前分支的更新 | | **本地要求** | 本地不能存在同名目录 | 必须在已有仓库目录内执行 | | **命令示例** | `git clone https://gitee.com/user/repo.git` | `git pull origin master` | | **等效操作** | `git init` + `git remote add` + 首次 | `git fetch` + `git merge` | | **生成内容** | 创建新目录并初始化.git仓库 | 仅更新文件,不创建新目录 | --- #### 二、详细区别解析 1. **克隆(Clone)** - **本质**:完整复制远程仓库本地 - **过程**: ```bash # 示例(引用[2]) git clone git@gitee.com:lu2964213324/pull-test.git ``` - **效果**: - 自动创建项目目录 - 初始化.git仓库 - 设置远程别名`origin` - 检出默认分支(通常是master) - 下载所有分支历史(引用[4]) 2. **(Pull)** - **本质**:同步远程更新到已有仓库 - **过程**: ```bash # 示例(引用[1][3]) git pull origin master ``` - **等效操作**: ```bash git fetch origin # 获远程更新 git merge origin/master # 合并到当前分支 ``` - **特殊场景**(引用[3][4]): ```bash # 远程新分支到本地 git checkout -b feature/login origin/feature/login ``` --- #### 三、工作流程图解 ```mermaid graph LR A[远程仓库] -->|克隆| B(新本地仓库) A -->|| C[已有本地仓库] B --> D[包含完整历史] C --> E[仅更新增量修改] ``` --- #### 四、何时使用哪种操作 | **场景** | **操作** | **说明** | |------------------------------|----------|-----------------------------------------| | 首次下载项目 | 克隆 ✅ | 必须使用克隆初始化仓库 | | 获团队最新代码 | ✅ | 每日开发前执行(引用[1]) | | 切换远程分支 | ✅ | `git checkout -b 分支名 origin/分支名`(引用[4]) | | 服务器部署 | 克隆 ✅ | 无本地仓库时的初始化操作 | | 修复合并冲突 | ✅ | 需先解决冲突再提交 | > **最佳实践**: > - 新项目用`克隆`,日常更新用`` > - 前先提交本地修改,避免冲突(引用[1][3]) ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值