如何去使用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 之后,想上传到远程平台时
相关推荐
电化学仪器白超7 小时前
小乌龟Git全程图形化操作指南:嵌入式本地版本管理与Gitee私有云备份实战
git·python·单片机·嵌入式硬件·物联网·gitee·自动化
K3v10 小时前
【git】删除本地以及远端已经合并到master的分支
大数据·git·elasticsearch
云攀登者-望正茂14 小时前
将 develop 分支拉取到特性分支时解决合并污染问题
git
金銀銅鐵17 小时前
[git] 如何找到已经“丢失”的 commit?
git·后端
尘世壹俗人17 小时前
linux编译安装git
linux·运维·git
打不了嗝 ᥬ᭄1 天前
Git 原理与使用
git·gitee
m0_614619062 天前
花了一下午学 Git,整理了一份学习笔记
笔记·git·学习
AGV算法笔记2 天前
解决Git> git add -A -- fatal: CRLF would be replaced by LF in Test/Test.cpp
git
Dontla2 天前
VSCode插件Git Graph介绍(Git可视化管理分支、可视化Git)
ide·git·vscode
Echoo华地2 天前
用git diff快速比较文件夹差异并生成报告
linux·git·unix·repository·diff·branch