如何去使用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 之后,想上传到远程平台时
相关推荐
我是海飞17 小时前
Git 本地仓库推送到远程空仓库指南
大数据·git·elasticsearch
GHL2842710901 天前
git cherry-pick使用
git
小龙1 天前
【Git 报错解决】本地分支与远程分支名称/提交历史不匹配
大数据·git·elasticsearch·github
阿正的梦工坊1 天前
Git Rebase 是什么?为什么需要它?
人工智能·git
ASEpochs1 天前
Vsocde中‘sh’不是内部或外部命令,也不是可运行的程序或批量处理文件--已解决
git·vscode·bash
coding消烦员1 天前
在 Windows 内网搭建 Git 仓库:共享普通仓库 vs 中心 bare 仓库
windows·git
李@十一₂⁰1 天前
git多分支管理
大数据·git·elasticsearch
爱写代码的派大星1 天前
git 拉取和合并
git
Kp独立开发1 天前
开源项目二次开发最佳实践:Fork + 分支隔离与同步
git·开源