如何去使用git进行协同开发?

Git 是一种分布式版本控制系统,用于管理软件项目的源代码,使用 Git 可以追踪代码的历史修改记录,方便团队协作、代码共享和代码重构。

我们一般在使用git去协同开发之前,需要建议一个自己的仓库(repository),用于存储代码和版本历史记录。

上图是gitee创建仓库代码,流程如下:

  1. 创建目录

    复制代码
    mkdir smart-dbsystem
    cd smart-dbsystem
  2. 初始化 Git

    复制代码
    git init
  3. 新建 README.md(可选择)

    复制代码
    touch README.md
  4. 提交到本地

    在git有四块区域:

    bash 复制代码
    工作区(Working Directory)
            ↓ git add
    暂存区(Stage / Index)
            ↓ git commit
    本地仓库(Local Repository)
            ↓ git push          (把本地仓库 → 远程仓库)
    远程仓库(Remote Repository)

    我们写代码是在工作区,但 Git 不会直接把我们的乱涂乱改写进历史,那样历史会变成一锅乱炖,所以就需要有暂存区。而 add 的功能不是保存,而是挑选哪些文件提交、哪些文件不提交,像一个"筛选器",我们可以使用 git add 命令将更改的文件添加到 Git 的暂存区。

    而 git commit 的作用是将暂存区中的更改提交到 Git 仓库中,并生成一个新的版本号(commit hash)。

    bash 复制代码
    git add <file>
    git commit -m "描述信息"

    同样可以使用 git add . 命令去将所有变更添加到暂存区。

    如果需要撤销某个提交,可以使用 git revert 命令来创建一个新的提交,该提交将会抵消先前的提交效果。

  5. 绑定远程仓库

    复制代码
    git remote add origin https://gitee.com/eleven-lxs/smart-dbsystem.git
  6. 推送到 Gitee

    使用 git push 命令将本地代码推送到远程仓库:

    复制代码
    git push -u origin "master'

如果需要合并不同分支的代码,可以使用 git merge 命令进行合并;而要查看代码的历史提交记录,可以使用 git log 命令来获取详细信息;而想将代码从远程仓库中获取代码,可以使用 git pull命令将远程代码拉取到本地。如果想将Git存储库版本回退,请使用 git reset 命令。

下图展示了 git 命令的使用流程:

命令 发生位置 作用描述 从哪里 → 到哪里 使用时机
git add 工作区 → 暂存区(Index) 把修改加入暂存区,准备提交 workspace → index 当你修改了文件,想把它纳入下一次 commit
git commit 暂存区 → 本地仓库(Repository) 将暂存区内容形成一个新的版本快照 index → local repo 想记录一次可回滚的版本点时
git checkout 本地仓库 → 工作区 切换分支 / 切回某个版本 / 恢复文件 local repo → workspace(同步到 index) 想切分支、回退、查看旧版本内容时
git clone 远程仓库 → 本地仓库(第一次使用) 下载整个远程仓库,并自动建好工作区 remote → local repo + workspace 第一次下载某项目到本地时
git fetch 远程仓库 → 本地仓库(不更新工作区) 获取远程最新信息但不合并 remote → local repo 想先查看远程改动再决定是否合并
git pull 远程仓库 → 本地仓库 → 工作区 fetch + merge(自动更新工作区) remote → local repo → workspace 想同步远程最新代码时
git push 本地仓库 → 远程仓库 把本地提交推到远程,让别人也能看到 local repo → remote 你 commit 之后,想上传到远程平台时
相关推荐
周小码5 小时前
10分钟搭建私有Git服务器:Soft Serve实战
运维·服务器·git
梅塔文·欧帕西安卡琼14 小时前
git的底层原理详解
git
待什么青丝14 小时前
【git的摸鱼技巧】之工欲善其事
git·elasticsearch·搜索引擎
2601_9611940215 小时前
高中英语教资资料推荐|科三大题背诵和教学设计模板
git·开源·github·开源软件·开源协议·ossinsight
ting945200015 小时前
InsForge Backend Branching 后端全链路 Git 式分支技术原理、架构实现与底层源码剖析
人工智能·git·elasticsearch·架构
程序猿阿伟15 小时前
《扣子如何让OpenClaw技能开发提速》
人工智能·git·github
摇滚侠17 小时前
IDEA 创建 Java 项目 推送到远程 Git 仓库
java·git·intellij-idea
稷下元歌18 小时前
7天学会plc加机器视觉关于运动控制部份,配套视频在bib
开发语言·c++·git·vscode·python·docker·pip
tealcwu18 小时前
【Git 实战】三类方案实现一键推送多端仓库(Gitee & GitHub)
git·gitee·github
摇滚侠18 小时前
git ignore 忽略 .idea 目录 全新项目(尚未提交过 .idea).idea 已经被 Git 跟踪(已提交过)
java·git·intellij-idea