一、第一次上传项目到远程仓库

第一次上传项目时,本地文件夹还不是 Git 仓库,所以要先初始化、提交,再关联远程仓库。

完整流程:

初始化仓库 -> 添加文件 -> 本地提交 -> 关联远程仓库 -> 拉取远程历史 -> 推送到远程

1. 初始化本地仓库

git init

作用:

把当前文件夹初始化成 Git 仓库。

执行后会生成隐藏目录:

.git

这个目录用来保存 Git 的版本记录。

2. 添加所有文件到暂存区

git add .

作用:

把当前项目里的新增、修改、删除文件全部添加到暂存区。

理解:

暂存区 = 准备提交的文件清单

3. 提交到本地仓库

git commit -m "初始提交"

作用:

把暂存区里的内容提交到本地仓库,形成一次版本记录。

注意:

git add 只是准备提交
git commit 才是真正生成版本记录

4. 关联远程仓库

git remote add origin https://gitee.com/liuqiutong/worker-miniprogram.git

作用:

把本地仓库和 Gitee 远程仓库绑定起来。

说明:

origin 是远程仓库的默认别名

查看远程仓库地址:

git remote -v

如果远程地址写错了,可以修改:

git remote set-url origin 新的远程仓库地址

5. 首次拉取远程代码

git pull origin master --allow-unrelated-histories

作用:

把远程仓库的 master 分支拉取到本地,并和本地代码合并。

为什么第一次要加:

--allow-unrelated-histories

因为本地仓库是自己 git init 创建的,远程仓库也是单独创建的,两边没有共同提交历史。

Git 会认为它们是两个“不相关的仓库”,所以第一次合并时需要加这个参数。

注意:

这个参数通常只在第一次合并远程仓库时使用。

之后一般不需要再加。

6. 如果首次拉取出现冲突

如果执行:

git pull origin master --allow-unrelated-histories

后提示冲突,需要先手动解决冲突。

解决后执行:

git add .
git commit -m "合并远程代码"

7. 第一次推送到远程仓库

git push -u origin master

作用:

把本地 master 分支推送到远程仓库。

-u 的作用:

建立本地 master 和远程 origin/master 的关联关系。

第一次推送建议加:

-u

之后再推送就可以简写为:

git push

二、第一次上传一次性复制版

git init
git add .
git commit -m "初始提交"
git remote add origin https://gitee.com/liuqiutong/worker-miniprogram.git
git pull origin master --allow-unrelated-histories
git push -u origin master

如果第五步出现冲突,解决冲突后执行:

git add .
git commit -m "合并远程代码"
git push -u origin master

三、之后再次修改代码的流程

第一次已经完成后,后续开发不需要再执行:

git init
git remote add origin 地址
git push -u origin master

以后正常修改代码,只需要:

先拉取远程最新代码 -> 修改代码 -> 查看状态 -> 添加暂存区 -> 提交本地 -> 推送远程

1. 先拉取远程最新代码

git pull

作用:

把远程仓库最新代码同步到本地。

为什么要先拉取:

如果远程仓库比你本地新,直接 git push 可能会失败。

所以建议每次开始改代码前先执行:

git pull

2. 修改代码

正常修改你的项目文件。

例如:

新增页面
修改接口
调整样式
修复 bug

3. 查看文件状态

git status

作用:

查看哪些文件被修改、哪些文件新增、哪些文件还没有提交。

常见状态:

modified:文件被修改
new file:新增文件
deleted:文件被删除
untracked files:Git 还没有跟踪的新文件

4. 添加修改到暂存区

git add .

作用:

把本次所有修改加入暂存区。

如果只想添加某一个文件:

git add 文件名

5. 提交到本地仓库

git commit -m "本次修改说明"

例子:

git commit -m "新增师傅端抢单大厅"

或者:

git commit -m "修复圈子接口异常"

提交说明要写清楚本次改了什么,不建议一直写:

修改
更新
改了一下

6. 推送到远程仓库

git push

作用:

把本地提交推送到远程仓库。

因为第一次已经执行过:

git push -u origin master

所以之后可以直接:

git push

四、之后修改代码一次性复制版

推荐稳妥版:

git pull
git status
git add .
git commit -m "本次修改说明"
git push

简单背诵版:

git pull
git add .
git commit -m "修改说明"
git push

五、常见情况处理

1. push 被拒绝怎么办

如果执行:

git push

提示远程仓库有新提交,说明远程代码比你本地新。

解决:

git pull
git push

如果 git pull 出现冲突,就先解决冲突。

2. pull 出现冲突怎么办

冲突文件里通常会出现:

<<<<<<< HEAD
本地代码
=======
远程代码
>>>>>>> origin/master

含义:

<<<<<<< HEAD 到 ======= 之间是本地代码
======= 到 >>>>>>> origin/master 之间是远程代码

处理步骤:

1. 打开冲突文件
2. 手动选择保留本地代码、远程代码,或者把两边合并
3. 删除冲突标记
4. 重新 add 和 commit
5. 再 push

命令:

git add .
git commit -m "解决代码冲突"
git push

3. 想看自己改了哪些文件

git status

4. 想看远程仓库地址

git remote -v

5. 想看提交记录

git log --oneline

六、第一次和之后的区别

第一次

第一次需要:

git init
git remote add origin 远程仓库地址
git push -u origin master

因为第一次要初始化仓库、绑定远程仓库、建立分支关联。

之后

之后只需要:

git pull
git add .
git commit -m "修改说明"
git push

因为本地仓库和远程仓库已经绑定好了。

七、面试或答辩总结

可以这样说:

第一次上传项目时,我会先使用 git init 初始化本地仓库,
然后通过 git add . 把项目文件加入暂存区,
再使用 git commit 提交到本地仓库。

接着使用 git remote add origin 关联 Gitee 远程仓库。
如果远程仓库已经有 README 等初始化文件,
本地和远程没有共同历史,就需要使用
git pull origin master --allow-unrelated-histories
先合并远程历史。

处理完可能出现的冲突后,
使用 git push -u origin master 第一次推送并建立本地分支和远程分支的关联。

之后日常开发中,一般先 git pull 同步远程最新代码,
再 git add .、git commit 提交本地修改,
最后 git push 推送到远程仓库。

八、必须背会的核心命令

第一次上传

git init
git add .
git commit -m "初始提交"
git remote add origin 远程仓库地址
git pull origin master --allow-unrelated-histories
git push -u origin master

之后更新

git pull
git add .
git commit -m "修改说明"
git push

九、注意事项

1. 不要重复 git init

一个项目只需要初始化一次:

git init

后面不要每次提交都执行。

2. 不要重复 remote add

远程仓库只需要关联一次:

git remote add origin 地址

后面不要每次提交都执行。

如果地址错了,用:

git remote set-url origin 新地址

3. 第一次 push 用 -u,之后不用

第一次:

git push -u origin master

之后:

git push

4. --allow-unrelated-histories 不是每次都用

这个参数主要用于第一次合并两个没有共同历史的仓库。

之后正常使用:

git pull

5. 不懂不要乱用危险命令

下面这些命令可能会丢代码,不懂不要乱用:

git reset --hard
git clean -fd
git push -f

含义:

git reset --hard:可能丢失本地修改
git clean -fd:可能删除未跟踪文件
git push -f:可能覆盖远程仓库代码

如果不确定当前状态,先执行:

git status

更多推荐