> 技术文档 > 通过git上传代码的两种方式(超级详细)

通过git上传代码的两种方式(超级详细)


场景1

        公司git上有了一个项目,让你把代码拉到本地,然后添加功能并传上去

1.首先获取远程仓库

  • 使用 git clone 命令。例如:

    git clone https://xxx/xxx/xxx.git
  • 这个命令做了几件关键事情:

    • 在你的本地机器上创建一个新目录(默认与仓库同名,这里是 project)。

    • 远程仓库的所有文件和历史提交记录完整地下载到这个新目录中。

    • 自动在本地仓库中设置一个名为 origin远程跟踪引用,指向你克隆的那个远程仓库 (URL)。

    • 自动创建并切换到默认分支(通常是 mainmaster)。

2.可以添加或修改文件

3.暂存更改 (git add):

  • 使用 git add 命令将你想要包含在下一次提交中的更改标记为“已暂存”。这告诉 Git 这些改动是你确认要记录的。

  • 添加所有更改:git add . (注意最后有个点)

  • 添加特定文件:git add filename1 filename2

4.提交更改到本地仓库 (git commit):

  • 使用 git commit 命令将暂存区的快照正式记录到你的本地 Git 仓库历史中。

  • git commit -m \"描述本次提交的清晰信息\"

  • 关键点: 这个提交只存在于你的本地计算机上,还没有影响到远程仓库 (origin)。

5.推送更改到远程仓库 (git push):

        通常git clone 之后就已经对上游进行跟踪了,直接push就行,但是如果新创建分支还是要设置对上游的跟踪(idea的提交自动会帮你与上游建立跟踪)当然不设置也行不过每次push或者pull的时候就需要加git push/pull origin 【分支名称】了

  • 使用 git push 命令将你本地分支上的提交上传到与之关联的远程分支(通常是 origin/你的当前分支名)。

  • 首次推送当前分支:git push -u origin (例如 git push -u origin main)。-u (或 --set-upstream) 选项会建立本地分支与远程分支的跟踪关系,之后在这个分支上只需 git push 即可。

  • 后续推送(已建立跟踪关系后):git push

  • 这是你的本地更改真正同步到团队共享仓库的时刻。

总结此场景流程: 克隆 (clone) -> 修改 -> 暂存 (add) -> 提交到本地 (commit) -> 推送到远程 (push)

场景2 

        自己新建了一个xx项目想要上传到git上

注意:第一件事要在git上创建一个仓库,重点来了!!!一定不要点击初始化readme文件按钮

1.初始化本地 Git 仓库 (git init):

  • 这是起点。在项目根目录执行:  

git init
  • 这个命令做了:

    • 在当前目录下创建一个隐藏的 .git 子目录。这个目录包含了 Git 管理版本控制所需的所有元数据(对象数据库、暂存区索引、HEAD 指针等)。

    • 将这个目录变成一个 Git 仓库的根目录

    • 通常会自动创建默认分支 master (老版本) 或 main (新版本)。你可以用 git branch 查看。

2.可以添加或修改文件

3.暂存初始文件/更改 (git add)

  • 与场景一相同。你需要明确告诉 Git 哪些文件需要纳入版本控制。

  • 添加所有文件:git add . (常见于初始化提交)

  • 添加特定文件:git add README.md index.html

4.进行首次提交 (git commit):      

  • 与场景一相同。将暂存区的快照(通常是项目的初始状态)提交到本地仓库

git commit -m \"Initial commit\"

5.(可选但通常必要) 关联远程仓库 (git remote add):(重点需要关联远程)

        与场景1不同,由于这个本地库是我们自己创建的,所以一定要和远程仓库建立关联(注意:这个和与上游分支跟踪不同)

  • 目前为止,所有操作都在你的本地。为了备份、协作或部署,你通常需要将这个本地仓库链接到一个空的远程仓库

  • 在 GitHub/GitLab 等平台上创建一个新的仓库(注意不要初始化 README、.gitignore 等,否则会产生冲突)。【也就是上边说的不要点击初始化readme文件按钮

  • 获取这个新远程仓库的 URL。

  • 回到你的本地仓库目录,添加一个指向这个远程仓库的引用(通常命名为 origin):

    git remote add origin 例如:git remote add origin https://xxx/xxx/xxx.git
    • 验证:git remote -v通过这个命令可以检查是否与远程建立连接了

    6..推送本地分支到远程 (git push -u):

            由于远程仓库是空的,你需要将你的本地分支(及其历史提交)第一次推送到远程仓库,并建立跟踪关系:(通过git init创建的仓库该分支并没有和上游分支跟踪

    git push -u origin  例如:git push -u origin main
    • -u 参数非常重要,它设置了上游跟踪(upstream tracking)。设置后,以后在这个分支上只需运行 git push 即可。

    总结此场景流程: 初始化 (init) -> [添加文件] -> 暂存 (add) -> 提交到本地 (commit) -> (可选)关联远程 (remote add) -> 首次推送并设置上游 (push -u)

    最后来介绍三种push的方式 以及区别

      git push          git push -u origin main    git push origin main    

    直播技巧分享