vs 项目本地创建与github同步保姆级教程(windows系统)
将本地文件夹结构和项目更新到GitHub,并确保以后可以持续更新,可以按照以下步骤操作:
1. 创建一个新的GitHub仓库
首先,在GitHub上创建一个新的仓库:
- 登录到GitHub。
- 点击右上角的 “+” 按钮,选择 “New repository”。
- 输入仓库名称(例如这里的:Show3D),填写描述(可选),然后点击 “Create repository”。
2. 在本地初始化Git仓库并链接到GitHub
在本地项目文件夹中(例如:F:\work\Item\earlyItemOpenGL\Show3D),右键 git bash here
,如下所示
然后执行以下步骤:
(1)初始化Git仓库
git init
(2)添加所有文件到Git仓库
温馨提示本小结看完后再进行操作,避免弯路。
git add .
问题 1
上图中的这个错误消息表明 Git 对当前项目目录的所有权存在疑虑,尤其是在文件系统不记录文件所有权的情况下。这通常发生在 Windows 或某些类型的网络文件系统上。你可以通过将当前项目目录添加到 Git 的“安全目录”列表中来解决这个问题。以下是具体步骤:
git config --global --add safe.directory F:/work/Item/earlyItemOpenGL/Show3D
这个命令告诉 Git 将 F:/work/Item/earlyItemOpenGL/Show3D
目录视为安全目录,之后你就可以正常使用 Git 命令了,如下所示。
如果没有错误则直接进入下一步。
(3)提交更改
git commit -m "Initial commit"
问题 2
这是因为 Git 还没有配置你的用户名和电子邮件地址,这是每次你提交更改时所必需的。这些信息将被嵌入到每个提交中,以便可以追踪提交的作者。你可以通过以下步骤来设置这些信息:
(3.1)配置用户名和电子邮件地址
-
设置全局用户名和电子邮件(适用于所有Git项目):
git config --global user.name "Your Name" git config --global user.email "you@example.com"
-
如果只想为当前项目设置用户名和电子邮件:
git config user.name "Your Name" git config user.email "you@example.com"
再次执行,提示下图
问题 3
这个提示说明当前在 master
分支上,没有任何需要提交的更改。你需要确保已经添加了文件到 Git 的索引中,然后再进行提交。所以我们在本地建立一系列我们需要的文件夹,当然仅仅是空文件夹也是不行的。
我们需要创建我们的C++项目,避免空文件夹,然后再次重复上面的步骤
问题 4
对于 vs 的项目,可能会有如下的问题
这个错误信息表明,在运行 git add .
命令时,Git 试图添加一个文件(code/.vs/Show3D/v15/Browse.VC.opendb
),但由于权限问题无法打开该文件。
(4.1)排除特定文件或文件夹:
- 使用
.gitignore
文件来排除不需要跟踪的文件或文件夹,例如 Visual Studio 生成的.vs
文件夹。 - 在你的项目根目录下创建或编辑
.gitignore
文件,并添加以下内容:
# Visual Studio temporary files and folders
.vs/
简单操作如下所示
echo ".vs/" >> .gitignore
这样就可以继续使用 git add .
了。
问题 5
如果此时又出现了
这些警告消息表明,在工作目录中的某些文件(如 others/glfw-3.4/tests/timeout.c
等)中,行结束符(line endings)将从 LF(换行符,常用于 Unix/Linux 系统)被替换为 CRLF(回车换行符,常用于 Windows 系统)。
- LF (Line Feed) :通常表示为
\n
,是 Unix/Linux 系统的行结束符。 - CRLF (Carriage Return Line Feed) :通常表示为
\r\n
,是 Windows 系统的行结束符。
Git 在处理不同操作系统之间的代码时,通常会自动转换行结束符,以确保文件在不同操作系统之间的一致性。
(5.1)处理方式1
- 创建 .gitattributes 文件:
在你的项目根目录下创建 .gitattributes 文件,添加以下内容:
# Handle all text files * text=auto # Handle specific file types *.c text eol=lf *.h text eol=lf
- 全局配置行结束符: 根据你的操作系统,选择适合的全局设置命令。 对于 Windows 用户:
git config --global core.autocrlf true
对于 Unix/Linux/macOS 用户:
git config --global core.autocrlf input
然后再次运行 git add . 命令:
(5.2)处理方式2
因为引起问题的文件夹 others 刚好是一个没有用的文件夹,这里顺便认识一下新的命令
- 撤销对 others 目录的添加
git reset others
- 创建或编辑 .gitignore 文件:
echo "others/" >> .gitignore
重新添加未被忽略的文件和目录:git add .
程序搭建好后我们就可以来到下一个步骤
(4)添加远程仓库URL
git remote add origin https://github.com/your-username/MyCppProject.git
(5)提交暂存区的更改
此时需要注意一下远程仓库的分支,这里远程仓库的分支是 main。假设当前分支是 master,切换到新的分支:
git checkout -b main # 创建并切换到 main 分支
修改先后都可以查看暂存区的状态
git status # 查看暂存区的状态
提交暂存区的更改
git commit -m "Initial commit"
(6)推送到远程仓库
git push -u origin main
转载自:https://juejin.cn/post/7379512671618727988