Git版本控制与协作

一、Git 基础概念

1.版本控制系统(VCS):Git 是一种分布式版本控制系统。他能追踪文件的变化,记录项目的每一个版本。

2.仓库:存储项目所有文件和版本历史的文件夹。

(1)本地仓库:位于本地电脑上的项目副本。

(2)远程仓库:位于服务器上的项目副本,通常是 GitHub、GitLab 等平台。

3.工作区:正在编辑的本地文件目录。

4.暂存区:一个中间区域,用于存放下一次提交的内容。

5.提交:将暂存区的内容正式保存到本地仓库,形成一个版本。每一次提交都有一个唯一的哈希值和一段描述信息。

二、基本操作

  1. git init:在你的项目文件夹中初始化一个本地 Git 仓库。

  2. git status:查看工作区和暂存区的状态。这个命令能告诉哪些文件被修改了,哪些文件可以被提交。

  3. git add <文件名>:将工作区的修改添加到暂存区。

4.git commit -m "提交信息":将暂存区的内容提交到本地仓库,并附上清晰的提交信息。

5.示例

(1) git init:创建一个新仓库。

(2)修改文件

(3) git status:查看修改。

(4) git add .:将修改添加到暂存区。

(5) git commit -m "完成新功能":提交修改。

三、分支和合并

  1. git branch:查看本地所有分支。

  2. git checkout <分支名>:切换到指定的分支。

  3. git checkout -b <新分支名>:创建并切换到新分支。

  4. git merge <分支名>:将指定分支的修改合并到当前分支。

5.示例

(1)git check main:确保你在主分支。

(2) git pull:拉取远程最新代码,保证本地代码是最新的。

(3)git check -b feature-a:创建一个名为 feature-a 的新分支。

(4)在 feature-a 分支上开发新功能,并多次提交。

(5)git checkout main:切换回主分支。

(6)git merge feature-a:将 feature-a 分支的修改合并到 main 分支。

四、远程仓库操作

1.git remote:管理远程仓库。

(1) git remote -v:查看当前仓库关联的远程仓库。

(2) git remote add origin <远程仓库 URL>:将本地仓库与一个远程仓库关联起来。origin 是默认的远程仓库名称。

2.git push:将本地提交推送到远程仓库。

(1)git push -u origin main:第一次推送时,需要使用-u 参数将本地的 main 分支与远程的 main 分支关联起来。

(2)git push:之后只需要简单地执行 git push 即可。

3.git pull:将远程仓库的最新代码拉取到本地仓库

(1)git pull origin main:拉取远程 origin 仓库的 main 分支

(2)git pull:如果已设置跟踪分支,可以直接使用 git pull。

五、GitHub工作流

1.克隆仓库:团队成员通过 git clone 将项目从 GitHub 克隆到本地。

2.创建新分支:每个成员为新功能或修复创建一个独立的分支。

git checkout -b feature-a

3.开发并提交:在新分支上进行开发,并多次提交(git add -> git commit)。

4.推送分支:将自己的新分支推送到 GitHub。

git push origin feature-a

5.创建拉取请求:在 GitHub页面上,为此分支创建一个拉取请求(PR)。

(1)PR 是一个协作和代码审查的平台。团队成员可以在 PR 中审查代码、提意见、讨论问题。

6.合并代码:审查通过后,将 PR 合并到主分支(通常是 main 或 dev)。

7.删除分支:合并后,可以删除远程和本地的分支。

相关推荐
xiaok4 小时前
把代码上传到gitee的时候,怎么忽略node_modules文件夹
git·gitlab·github
唐叔在学习4 小时前
听说有老哥分不清Git branch和tag?这不看看嘛
git·后端
雁于飞14 小时前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
小毛驴8501 天前
所有微服务部署都使用一个git地址,并且通过docker部署各个服务的情况下,如何编写mvn指令来处理各个服务。
git·docker·微服务
国王不在家1 天前
git 切换仓库后清理分支缓存
git
柯南二号1 天前
【Gitlab】Ubuntu 20.04服务器部署Gitlab
git·gitlab
phac1231 天前
git 如何直接拉去远程仓库的内容且忽略本地与远端不一致的commit
大数据·git·elasticsearch
ficker132 天前
git常用命令
git
kevin_cat2 天前
微信群机器人-备份文件发送通知
git·bash·企业微信
程序媛Dev2 天前
50.4k Star!我用这个神器,在五分钟内搭建了一个私有 Git 服务器!
运维·服务器·git