GitHub 代码管理(持续更新)

前言

在开发过程中,我们经常需要将本地代码上传到 GitHub,以便进行版本管理、备份或协作。本文将介绍如何使用 Git 命令行将本地项目上传到 GitHub。


一、问题描述

在本地开发完成后,如何使用 Git 命令将项目上传到 GitHub?

  • 目标:将本地项目上传到 GitHub
  • 需要执行 Git 的一系列命令来完成这个操作

二、具体方法

1. 初始化 Git 仓库

如果项目目录还未被 Git 管理,需要先初始化 Git 仓库:

// 在项目根目录执行
git init

该命令会在当前目录创建一个 .git 文件夹,表示该目录已被 Git 版本控制。


2. 关联远程 GitHub 仓库

如果尚未创建 GitHub 仓库,先去 GitHub 上创建一个新的仓库。

然后在本地执行以下命令,将本地仓库与 GitHub 远程仓库关联:

git remote add origin <你的GitHub仓库地址>

例如:

git remote add origin https://github.com/your-username/your-repo.git

如果想检查是否成功绑定:

git remote -v

3. 添加文件并提交

git add . 

. 代表添加当前目录下的所有文件。

git commit -m "First Commit"

-m 后面的内容是提交说明,写清楚提交的内容。


4. 推送代码到 GitHub

第一次推送时,需要先设置默认分支(GitHub 现在默认是 main,但本地可能是 master):

git branch -M main

然后执行推送命令:

$ git push -u origin main

如果是 SSH 方式,可能会要求输入 SSH 密钥。如果是 HTTPS 方式,可能会让你输入 GitHub 账号和密码(现在 GitHub 需要使用个人访问令牌而不是密码)。


5.以后更新代码

git add .
git commit -m "更新内容"
git push origin main

6.忽略一些文件或文件夹

a.创建 .gitignore 文件

在你的项目根目录下创建一个 .gitignore 文件(如果不存在)。可以使用命令:

touch .gitignore

或者直接用文本编辑器创建。

b. 编辑 .gitignore 文件

.gitignore 中写入你想要忽略的文件或文件夹。例如:

# 忽略编译生成的文件
*.o
*.exe
*.out

# 忽略日志文件
*.log

# 忽略 Python 相关
__pycache__/
*.pyc
*.pyo

# 忽略 IDE 配置文件(VSCode、JetBrains、Eclipse等)
.vscode/
.idea/
*.iml

# 忽略 node_modules(如果是前端项目)
node_modules/

# 忽略环境变量文件
.env

你可以根据你的项目需求修改忽略规则。

c.确保 .gitignore 生效

如果你已经提交了某些文件到 Git 但后来才添加 .gitignore,你需要让 Git 重新识别它们:

git rm -r --cached .
git add .
git commit -m "更新 .gitignore 规则"

然后再推送到 GitHub:

git push origin main

这样,.gitignore 文件会生效,被忽略的文件将不会上传到 GitHub。

d.可能遇到的报错

注意,这一步可能会遇到问题,例如报错:

fatal: unable to access 'https://github.com/xxx/xxx.git/': Failed to connect to github.com port 443 after 21070 ms: Couldn't connect to server

原因如下:
1.由于网络原因导致的,但是尝试了好几次也没有成功,后面关闭了魔法,重启了魔法又成功了;

如果从https换到了ssh,然后推送的话,会遇到如下的错误:

To https://github.com/JesonLeee/Code_Debug_Tricks.git
 ! [rejected]        main -> main (fetch first)
error: failed to push some refs to 'https://github.com/xxx/xxx.git'
hint: Updates were rejected because the remote contains work that you do not
hint: have locally. This is usually caused by another repository pushing to
hint: the same ref. If you want to integrate the remote changes, use
hint: 'git pull' before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

这个错误是因为 远程仓库的 main 分支比你的本地 main 分支更新,Git 拒绝了推送。一般来说,这可能是因为:

  1. 远程仓库有新的提交,但你的本地代码没有同步;
  2. 其他人或你自己在另一台设备上提交了代码;
  3. 你重新初始化了 Git 仓库,但远程仓库已有内容。

e.解决方案

  • 如果你希望保留远程的更新,并在此基础上推送本地修改,使用:
git pull origin main --rebase
git push origin main
  • 如果你确认本地代码才是最终版本,并要覆盖远程代码,使用:
git push origin main --force

7.在 Git 仓库中 删除某个文件

只从 Git 仓库删除,但保留本地文件

首先,使用 git rm 命令删除文件:

git rm --cached 文件名

例如:

git rm --cached myfile.txt

然后提交更改:

git commit -m "从 Git 仓库移除 myfile.txt,但保留本地文件"

最后推送到远程仓库:

git push origin main

适用于: 误提交了某个文件,想让它不被 Git 跟踪,但仍然保留在本地

从 Git 仓库删除,不保留本地文件

首先,使用 git rm 命令删除文件:

git rm 文件名

例如:

git rm myfile.txt

然后提交更改:

git commit -m "删除 myfile.txt"

最后推送到远程仓库:

git push origin main

8.其他常用命令

a.查看当前 Git 状态

git status

b.查看提交历史

git log --oneline --graph --all

c.克隆已有的 GitHub 仓库

git clone <仓库地址>

三、验证与总结

在 GitHub 仓库页面检查是否成功上传。通过以上步骤,我们可以顺利地将本地项目上传到 GitHub,便于版本管理和协作开发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值