Git 上传文件、文件夹、项目到 Github

本文详细介绍如何使用Git进行项目版本管理,包括配置Git、生成SSH密钥、创建和克隆仓库等基本操作,并演示如何将本地文件上传至Github。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Git 上传文件、文件夹或项目到 Github

  • Git 基础知识学习

  • 配置Git、SSH

    • 下载、安装 Git

    • 绑定用户

      $ git config --global user.name "Your Name"
      $ git config --global user.email "email@example.com"

    • 配置 SSH

**1、**在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开GitBash),创建SSH Key,密码可以不设置直接回车

$ ssh-keygen -t rsa -C "youremail@example.com"

如果一切顺利的话,可以在用户主目录里找到 .ssh 目录,里面有 id_rsaid_rsa.pub 两个文件,这两个就是SSH Key 的秘钥对,id_rsa 是私钥,不能泄露出去id_rsa.pub是公钥,可以放心地告诉任何人。用记事本打开 id_rsa.pubC:\Users\Administrator\.ssh),得到ssh key 公钥。

**2、**为 Github 账户添加 ssh key 。登录 Github,展开个人头像的小三角,点settings,然后打开SSH keys菜单,点击Add SSH key新增密钥,填上标题。

  • 建立仓库

填一下仓库名称,Initialize this repository with a README是可选的,建议在创建时选上,可以在后面省一个步骤。填好之后,点Create repository完成仓库的建立

  • 克隆仓库

**如果是全新的项目没有任何文件,也可以不用克隆仓库,跳过这一步。**点开 Git Shell,进入命令行。首先我们先要把 GitHub 上的我们新建的仓库 clone下来。在初始化版本库之前,先要确认认证的公钥是否正确

$ ssh -T git@github.com

如果收到成功的确认消息,就可以开始克隆远程仓库了(以我的一个项目为例)

$ git clone https://github.com/jerryhanjj/baike_spider.git

远程仓库的地址可以在自己的 Github 项目上找到(以我的为例)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AZIGbyTk-1617018500264)(http://i.imgur.com/ndADEqn.jpg)]

克隆仓库之后就在文件夹中出现了项目文件夹及文件,进入项目文件夹,对其进行初始化

$ git init
  • 上传 README 文件

如果在创建 Github 仓库时没有勾选创建 README.md 文件,则要先创建 README.md 文件,不然上传文件会报错。如果已经勾选,可以跳过此步骤。

$ git init
$ touch README.md
$ git add README.md
$ git commit -m 'first_commit'
$ git remote add origin https://github.com/jerryhanjj/baike_spider.git
$ git push origin master
  • 上传项目

跟踪项目文件夹中的所有文件和文件夹

$ git add . 

输入本次的提交说明,准备提交暂存区中的更改的已跟踪文件,单引号内为说明内容

$ git commit -m 'first_commit'

关联远程仓库,添加后,远程库的名字就是 origin,这是 Git 默认的叫法,也可以改成别的,但是 origin 这个名字一看就知道是远程库。

$ git remote add origin https://github.com/jerryhanjj/baike_spider.git

如果关联出现错误 fatal: remote origin already exists,则执行下列语句再进行关联

git remote rm origin

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

$ git push -u origin master

如果在推送时出现错误 error:failed to push som refs to.......,则执行下列语句

git pull origin master

将远程仓库 Github 上的文件拉下来合并之后重新推送上去,如果在推送时失败,提示fatal: refusing to merge unrelated histories,则执行下列语句

git pull origin master --allow-unrelated-histories
<think>我们正在处理用户的问题:如何通过Git Bash将本地文件夹上传GitHub仓库的指定分支(zhang)。 根据引用内容,我们可以提取以下有用信息: 1. 引用[1]提到,可以使用`git remote add`命令为远程仓库添加别名,以避免每次推送都要输入完整的URL。 2. 引用[2]提到,可以在任何包含代码的文件夹中创建Git仓库,并且Git Bash是Windows上使用Git的一种方式。 用户需求明确:将本地文件夹上传GitHub仓库的指定分支(名为zhang)。 步骤分解: 1. 初始化本地Git仓库(如果尚未初始化)。 2. 将文件添加到暂存区。 3. 提交更改。 4. 添加远程仓库(如果尚未添加)。 5. 将本地更改推送到远程仓库的指定分支(zhang)。 注意:如果远程仓库中还没有zhang分支,我们需要在本地创建并切换到该分支,然后推送到远程。 具体步骤: 第一步:打开Git Bash 在需要上传文件夹上右键选择“Git Bash Here”。 第二步:初始化本地仓库(如果该文件夹还不是Git仓库) ``` git init ``` 第三步:将文件夹中的所有文件添加到暂存区 ``` git add . ``` 第四步:提交更改 ``` git commit -m "Initial commit" ``` 第五步:添加远程仓库(如果尚未添加) 使用`git remote add`命令,其中: - 第一个参数是远程仓库的别名(通常使用origin) - 第二个参数是远程仓库的URL(用户需要替换为自己的仓库URL) 例如: ``` git remote add origin git@github.com:用户名/仓库名.git ``` 第六步:创建并切换到本地分支zhang(如果该分支不存在) ``` git checkout -b zhang ``` 如果分支已经存在,则直接切换到该分支: ``` git checkout zhang ``` 第七步:将本地分支推送到远程仓库 如果远程仓库还没有zhang分支,我们需要使用`-u`参数来设置上游分支: ``` git push -u origin zhang ``` 如果已经推送过,则可以直接: ``` git push origin zhang ``` 注意:如果远程仓库有保护分支的设置,可能需要使用其他方式(如pull request)来合并,但这里用户只是上传到指定分支。 如果用户还没有在GitHub上创建仓库,需要先创建仓库并获取URL。 另外,如果用户使用的是SSH URL(如git@github.com:...),需要确保已经配置了SSH密钥。如果是HTTPS URL,则每次推送可能需要输入用户名和密码(或者配置凭证存储)。 根据引用[1],我们还可以知道,使用远程别名(如origin)可以简化后续操作。 因此,完整的步骤总结如下: 1. 在本地文件夹中初始化Git仓库。 2. 添加所有文件到暂存区。 3. 提交更改。 4. 添加远程仓库别名(如果尚未添加)。 5. 创建或切换到本地分支zhang。 6. 将本地分支推送到远程的同名分支(如果远程没有,则创建)。 现在,我们将按照上述步骤编写回答。</think>### 通过 Git Bash 上传文件夹GitHub 指定分支(zhang) 以下是详细步骤,确保您已安装 [Git](https://git-scm.com/downloads) 并完成初始配置: #### 步骤 1:初始化本地仓库 ```bash # 进入目标文件夹 cd /path/to/your_folder # 初始化 Git 仓库 git init # 添加所有文件到暂存区 git add . ``` #### 步骤 2:创建本地分支并提交 ```bash # 创建并切换到 zhang 分支 git checkout -b zhang # 提交更改 git commit -m "Initial commit to zhang branch" ``` #### 步骤 3:关联远程仓库 ```bash # 添加远程仓库别名(替换 YOUR_USERNAME 和 REPO_NAME) git remote add origin git@github.com:YOUR_USERNAME/REPO_NAME.git ``` > 注:远程 URL 格式参考 GitHub 仓库的 **SSH 或 HTTPS 地址**[^1] #### 步骤 4:推送到远程分支 ```bash # 首次推送需设置上游分支 git push -u origin zhang # 后续推送直接使用 git push origin zhang ``` #### 关键注意事项: 1. **分支不存在时**:`git push -u origin zhang` 会自动在远程创建 zhang 分支 2. **权限问题**:确保 SSH 密钥已添加到 GitHub 账户([配置指南](https://docs.github.com/authentication/connecting-to-github-with-ssh)) 3. **冲突处理**:若远程分支已有内容,先执行: ```bash git pull origin zhang --rebase ``` ### 常见问题排查 | 问题现象 | 解决方案 | |---------|----------| | `Permission denied` | 检查 SSH 密钥配置 | | `Branch not found` | 确认远程分支名称拼写 | | `Updates rejected` | 先执行 `git pull --rebase` |
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值