完整的将本地工程上传到GitHub的步骤+常用的Git更新和撤回命令

完整的将本地工程上传到GitHub的步骤

bash 复制代码
以下是完整的将本地工程上传到GitHub的步骤:

### 1. 初始化本地仓库
```bash
# 进入项目目录
cd your_project_path

# 初始化git仓库
git init
```

### 2. 添加.gitignore文件(可选但推荐)
```bash
# 在项目根目录创建.gitignore文件,添加不需要追踪的文件类型
# 对于Keil项目,典型的.gitignore内容:
*.uvguix.*
*.uvoptx
*.scvd
*.uvprojx
Objects/
Listings/
*.o
*.d
*.crf
*.htm
*.dep
*.map
*.bak
*.axf
*.hex
*.bin
```

### 3. 添加文件到暂存区
```bash
# 添加所有文件
git add .

# 或者选择性添加文件
git add *.c *.h
```

### 4. 提交到本地仓库
```bash
git commit -m "Initial commit: 项目描述"
```

### 5. 链接远程仓库
```bash
# 添加远程仓库(使用您的GitHub仓库URL)
git remote add origin https://github.com/username/repository.git

# 验证远程仓库
git remote -v
```

### 6. 推送到远程仓库
```bash
# 首次推送使用-u参数
git push -u origin master
```

### 完整示例(以您的仓库为例):
```bash
# 1. 进入项目目录
cd E:\7788\25Study\24_11PPTClass\MCUproject\IoT_Syy

# 2. 初始化git仓库
git init

# 3. 创建并编辑.gitignore(可选)
echo "*.uvguix.*" > .gitignore
echo "Objects/" >> .gitignore
echo "Listings/" >> .gitignore

# 4. 添加文件
git add .

# 5. 提交更改
git commit -m "Initial commit: STM32 IoT project"

# 6. 添加远程仓库
git remote add origin https://github.com/Tully-L/IoT_Syy.git

# 7. 推送到GitHub
git push -u origin master
```

### 后续更新操作
```bash
# 1. 查看状态
git status

# 2. 添加修改
git add .

# 3. 提交修改
git commit -m "更新说明:例如添加新功能xxx"

# 4. 推送到远程
git push origin master
```

### 如果遇到问题
```bash
# 如果push失败,先拉取远程更新
git pull origin master

# 如果有冲突,解决冲突后
git add .
git commit -m "解决冲突"
git push origin master

# 如果想放弃本地修改
git fetch origin
git reset --hard origin/master
```

### 首次使用Git需要配置
```bash
# 配置用户名和邮箱
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"

# 如果使用HTTPS,可能需要配置凭证存储
git config --global credential.helper store
```

注意事项:
1. 确保GitHub仓库已创建
2. 第一次使用需要进行身份验证
3. 建议使用.gitignore过滤不必要的文件
4. 重要操作前最好先备份
5. 提交时写清晰的提交信息,便于后期维护

常用的Git更新和撤回命令

bash 复制代码
以下是常用的Git更新和撤回命令:

### 更新操作
```bash
# 1. 查看当前状态
git status

# 2. 添加修改的文件
git add .                    # 添加所有更改
git add filename.c           # 添加特定文件

# 3. 提交更改
git commit -m "更新说明"

# 4. 推送到远程仓库
git push origin master       # 推送到master分支
```

### 撤回操作
```bash
# 1. 撤销工作区的修改(未add)
git checkout -- filename.c   # 撤销特定文件的修改
git checkout .              # 撤销所有修改

# 2. 撤销暂存区的修改(已add未commit)
git reset HEAD filename.c    # 撤销特定文件
git reset HEAD .            # 撤销所有文件

# 3. 撤销提交(已commit未push)
git reset --soft HEAD^      # 撤销上一次commit,保留修改
git reset --hard HEAD^      # 撤销上一次commit,删除修改

# 4. 撤销已推送的提交(已push)
git revert HEAD             # 创建一个新的提交来撤销上一次提交
git push origin master      # 推送撤销操作
```

### 其他常用命令
```bash
# 查看提交历史
git log

# 查看远程仓库信息
git remote -v

# 从远程仓库更新本地代码
git pull origin master

# 查看分支
git branch

# 创建并切换分支
git checkout -b new-branch

# 切换分支
git checkout master
```

注意事项:
1. 使用`reset --hard`要特别小心,它会删除所有未提交的修改
2. 建议在进行重要操作前先备份代码
3. 如果不确定操作结果,可以先用`git status`查看当前状态
相关推荐
Narutolxy17 分钟前
Git Flow 工作流:保障修改不破坏主功能的完整指南20241230
大数据·git·elasticsearch
沉默的八哥24 分钟前
Python学习路线
开发语言·python·学习
Yolo566Q25 分钟前
生态碳汇涡度相关监测与通量数据分析实践技术应用
经验分享·数据挖掘·数据分析
Clockwiseee1 小时前
css学习
前端·css·学习
长风清留扬3 小时前
我的创作纪念日
经验分享·学习·程序人生·生活·交友
zhxueverme3 小时前
JAVA学习笔记_Redis进阶
java·笔记·学习
IT古董5 小时前
【机器学习】机器学习的基本分类-半监督学习-Ladder Networks
学习·机器学习·分类·半监督学习
霜雪殇璃9 小时前
2024.12.30(多点通信)
开发语言·学习
四夕白告木贞11 小时前
stm32week1+2
stm32·单片机·嵌入式硬件·学习
黄思博呀11 小时前
win版ffmpeg的安装和操作
学习