准备工作
在开始之前,请确保你已经完成了以下两步:
- 安装 Git:从 git-scm.com 下载适合你操作系统的版本,并安装。安装时全部选默认选项即可。
- 注册 Gitee 账号:访问 gitee.com 注册一个账号。注册完成后登录。
第一步:在本地创建或进入你的项目文件夹
打开你的电脑,找到你想要上传到 Gitee 的项目文件夹。如果还没有项目,可以新建一个测试文件夹,比如在桌面新建一个名为 my-project 的文件夹。
第二步:在文件夹中初始化 Git 仓库
- 进入该文件夹。在文件夹空白处右键,选择 Git Bash Here(Windows 系统)或者打开终端(Mac/Linux)并
cd到该文件夹。
在弹出的命令行窗口中输入以下命令,然后按回车:
git init
这条命令会在当前文件夹中创建一个隐藏的 .git 文件夹,表示 Git 仓库初始化成功。你会看到类似 Initialized empty Git repository in ... 的提示。
第三步:将你的项目文件添加到 Git 暂存区
假设你的文件夹里已经有了项目文件(比如 index.html、app.js 等)。如果没有,可以先创建一个测试文件,比如新建一个 README.md 文件。
输入以下命令,将所有文件添加到暂存区:
git add .
注意命令最后有一个点 .,代表当前文件夹下的所有文件。如果你只想添加某个文件,可以用 git add 文件名。
随后提交到本地仓库,并附上提交说明:
git commit -m "第一次提交"
双引号里的内容可以换成你想要的说明,比如'初始化项目'。
第四步:在 Gitee 上创建一个远程仓库
- 登录 Gitee 网站,点击右上角的 + 号,选择 新建仓库。
- 填写仓库信息:
- 仓库名称:给你的仓库起个名字,比如
my-project(建议和本地文件夹同名)。 - 路径:会自动生成,一般不用改。
- 仓库介绍:可选,简单描述项目。
- 是否开源:根据自己的需要选择,私有仓库只有你能看到(部分功能可能需要付费)。
- 初始化仓库:不要勾选任何初始化选项(如'使用 Readme 文件初始化'),因为我们本地已经有文件了,避免产生冲突。
- 仓库名称:给你的仓库起个名字,比如
- 点击 创建 按钮。
创建成功后,你会跳转到仓库主页,页面中间会显示远程仓库的地址。复制这个地址,有两种格式:
- HTTPS:
https://gitee.com/你的用户名/my-project.git - SSH:
[email protected]:你的用户名/my-project.git
如果你是第一次使用,建议先用 HTTPS,比较简单。
第五步:将本地仓库与远程仓库关联
回到刚才的 Git Bash 或终端窗口,输入以下命令(将地址替换成你复制的 HTTPS 地址):
git remote add origin https://gitee.com/你的用户名/my-project.git
这条命令的意思是:添加一个名为 origin 的远程仓库,地址是后面的 URL。origin 是远程仓库的默认名字,你可以改成别的,但通常都用 origin。
第六步:将本地代码推送到远程仓库
输入以下命令,将本地 master 分支的内容推送到远程 origin 仓库:
git push -u origin master
如果是第一次推送,可能会弹出登录窗口,要求输入 Gitee 的用户名和密码(如果是 HTTPS 方式)。输入你在 Gitee 注册的邮箱/手机号和密码即可。
如果一切顺利,你会看到类似下面的输出:
Counting objects: 3, done. Writing objects: 100% (3/3), 215 bytes |215.00 KiB/s, done. Total 0(delta 0), reused 0(delta 0)
remote: Powered by Gitee.com
To https://gitee.com/你的用户名/my-project.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
现在刷新你的 Gitee 仓库页面,就能看到刚才推送的文件了!
常见问题及解决方法
1. 推送时提示"failed to push some refs"
这通常是因为远程仓库已经有了文件(比如你创建仓库时勾选了'初始化仓库'),而本地没有这些文件,导致冲突。
解决方法:先拉取远程仓库的内容合并到本地,再推送。
git pull origin master --allow-unrelated-histories
这条命令会拉取远程内容,并允许合并不相关的历史。之后再次执行 git push -u origin master 即可。
2. 输入密码时提示"Username for 'https://gitee.com'
如果你在推送时被要求反复输入用户名密码,可以配置 Git 记住密码:
git config --global credential.helper store
执行后第一次推送仍需输入,之后 Git 会记住密码,不再提示。
3. 想要使用 SSH 方式推送(免密且更安全)
如果你希望以后推送不用每次都输密码,可以配置 SSH 密钥:
- 在 Git Bash 中生成密钥:
ssh-keygen -t rsa -C "你的邮箱",一路回车。 - 找到生成的公钥(默认在
C:\Users\你的用户名\.ssh\id_rsa.pub),用记事本打开并复制全部内容。 - 登录 Gitee,点击头像 -> 设置 -> SSH 公钥,把复制的内容粘贴进去,标题随便填。
- 然后在本地仓库执行:
git remote set-url origin [email protected]:你的用户名/my-project.git将远程地址改为 SSH 格式。
之后推送就不再需要密码了。
进阶操作:添加 .gitignore 文件
正常添加并提交的流程,这里就不再叙述,主要讲一下,git 先提交了不想要追踪的文件,然后才添加 .gitignore 文件的场景,如果不想要跟踪这些文件,如何去处理呢?
-
打开终端 / Git Bash 进入你的项目根目录(也就是包含
.git文件夹的那个目录)。 -
确认
.gitignore已正确配置 检查一下.gitignore文件是否包含了这三行(每行一个):
.obsidian/
.trash/
.DS_Store
- 从 Git 缓存中删除这些文件/目录
执行以下命令,将它们从版本控制中移除(本地文件会原封不动保留),如果目标文件不在根目录,则需要使用
cd命令进入对应的子目录执行git rm -r --cached 目标文件:
git rm -r --cached .obsidian
git rm -r --cached .trash
git rm --cached .DS_Store
*注意:目录后面加斜杠 / 更明确,但不加也可以。
- 提交这次变更 现在 Git 会检测到这些文件/目录被'删除'(实际上是移除追踪),你需要提交这个变化:
git add .
git commit -m "停止追踪 .obsidian .trash .DS_Store"
- 推送到远程仓库 最后,将这次提交推送到 Gitee:
git push
验证效果
- 执行完上述步骤后,远程仓库(Gitee)上的这三个目录/文件就会被删除。
- 以后你本地对这些文件的任何修改,都不会再被 Git 检测到变更,也不会被同步工具自动同步。
- 如果你希望其他协作者的本地仓库也同步这个'不再追踪'的状态,他们只需要执行
git pull拉取这次提交即可(但要注意,他们本地原有的.obsidian等文件不会被删除,只是之后不再被追踪)。


