Git详解及常用命令

前言

Git 是一个分布式版本控制系统,用于跟踪和管理项目的代码变化。它由Linus Torvalds在2005年创建,现在是开源社区中最流行的版本控制工具之一。

国内码云地址:工作台 - Gitee.com

  1. 版本控制系统 (VCS):Git 用于跟踪文件和目录的变化,以便多个开发者可以协同工作,并记录项目的历史。每次更改都被记录为一个"提交",并且可以随时回退到以前的提交状态。

  2. 分布式系统:与一些中心化的版本控制系统不同,Git 是分布式的,每个开发者都有完整的代码仓库的拷贝。这意味着即使没有网络连接,您也可以进行版本控制操作,然后在稍后将更改同步。

  3. 仓库 (Repository):Git 仓库是包含项目文件和历史记录的目录。有两种类型的 Git 仓库:本地仓库和远程仓库。本地仓库存在于开发者的计算机上,而远程仓库通常位于云端或网络上的其他位置,用于协作。

  4. 分支 (Branch):分支是 Git 仓库的一个重要概念。它允许开发者在不影响主要代码线的情况下进行独立的开发。开发者可以创建、合并、删除分支,以便并行开发不同的功能或修复不同的 bug。

  5. 提交 (Commit):提交是对代码库所做更改的快照。每次提交都有一个唯一的标识符(哈希值),并包含了修改的文件、提交消息(对更改的描述)和提交者的信息。

  6. 工作目录 (Working Directory):工作目录是当前正在工作的文件副本,它与 Git 仓库中的特定提交相对应。当您编辑工作目录中的文件时,您可以通过提交将这些更改保存到仓库中。

  7. 暂存区 (Staging Area) :暂存区是位于工作目录和仓库之间的中间层。您可以使用 git add 命令将更改从工作目录添加到暂存区,然后使用 git commit 命令将这些更改保存为一个新的提交。

  8. 远程仓库 (Remote Repository):远程仓库是分布式团队协作的关键。它是一个存储在网络上的 Git 仓库,允许多个开发者协同工作,同步和分享代码。

  9. 克隆 (Clone) :克隆是创建远程仓库的本地拷贝。开发者可以使用 git clone 命令从远程仓库中复制代码到本地计算机,以便进行开发。

  10. 合并 (Merge) :当一个分支的更改需要合并到另一个分支时,可以使用 git merge 命令将两个分支的更改合并在一起。

  11. 冲突解决 (Conflict Resolution):当多个开发者修改了同一文件的相同部分,会导致冲突。在合并时,需要手动解决这些冲突。

  12. 分布式开发协作:Git 允许多个开发者协同工作,他们可以通过远程仓库共享代码,并在分支上独立工作。开发者可以通过拉取(pull)和推送(push)来同步他们的更改。

  13. GitHub 和 GitLab:这些是基于 Git 的托管服务,使开发者能够在云端存储和协作开发他们的项目。GitHub 和 GitLab 提供了许多协作工具,如问题跟踪、合并请求等。

  14. 命令行和图形用户界面 (GUI):Git 可以通过命令行和各种图形用户界面工具来使用。命令行提供更多的灵活性和控制,而 GUI 工具通常更易于入门。

一. Gitee新建仓库

准备工作

(1).创建Gitee账号

这个自行创建即可

(2).安装Git

这里不过多介绍,自行查阅资料安装即可

1.创建开源仓库

填写好仓库相关信息创建开源仓库

2.创建本地仓库

新建完开源仓库后,会有相关提示命令,将其复制到文档中备用使用

在本地磁盘中新建一个文件夹当作自己存放本地项目的仓库,如果考虑到多人开发,那就需要为自己的组员单独创建文件夹

进入到当前本地文件夹,准备进行全局配置及初始化

全局配置

将刚刚创建完开源仓库后的提示命令中将全局配置中的命令依次执行

全局配置完成后,在C:\Users\用户名 目录下找到.gitconfig文件时打开,确认为自己的配置时即为配置成功

输入以下命令创建本地仓库文件夹

mkdir 自定义的仓库名称

cd 自定义的仓库名称

初始化本地仓库,将当前目录标记为被Git所管理的仓库

git init

将新建的仓库与Gitee中的仓库进行关联

新建 README.md 文件

touch README.md

查看当前文件状态

git status

当出现文件名为红色时说明并没有被git所管理

提交文件,将文件交给git管理

git add README.md

git commit -m "first commit"

git remote add origin 自己的gitee地址

推送本地代码到远程仓库中

git push -u origin "master"

注意:如果是第一次使用,需要输入自己的账号和密码

到这里如果没有出现错误的话那么本地仓库就已经搭建好了且已与远程仓库连接并交给Git进行管理了

3.如何上传自己的项目

将项目拷贝到当前文件夹

依次执行以下命令

git add .

git commit -am '一期已提交'

git push

执行完成之后可以到自己的Gitee主页仓库中查看是否提交完成

二.协同开发开源仓库

1.项目克隆

这里使用同一台电脑模拟多人开发,再进行创建一个用户文件夹,模拟增加组员开发

在当前文件夹中进行克隆远程仓库中的项目

git clone 远程仓库地址

2. 项目文件提交

假设组员甲添加某项目文件并进行提交远程仓库,其余组员进行接受

组员甲执行命令(已完成文件readme.txt)

git add .

git commit -am '配置文件已修改'

git push

命令提交完成后我们可以查看远程仓库是否存在

确认远程仓库已接收到时,这时组员乙准备更新项目,获取到本地仓库

组员乙执行命令

git pull

执行完成后可以查看是否获取到本地仓库

命令:ll

三.Git命令总结

  1. git init:初始化一个新的 Git 仓库。

  2. git clone <repository-url>:克隆一个远程仓库到本地计算机。

  3. git add <file>:将文件的更改从工作目录添加到暂存区。

  4. git add .:将所有工作目录中的更改添加到暂存区。

  5. git commit -m "commit message":将暂存区中的更改保存为一个新的提交。

  6. git status:查看工作目录、暂存区和当前分支的状态。

  7. git log:查看提交历史记录。

  8. git diff:查看当前工作目录和最新提交之间的差异。

  9. git branch:列出所有分支,当前分支会有特殊标记。

  10. git branch <branch-name>:创建一个新分支。

  11. git checkout <branch-name>:切换到另一个分支。

  12. git merge <branch-name>:将指定分支的更改合并到当前分支。

  13. git pull:从远程仓库拉取最新更改并合并到当前分支。

  14. git push:将本地分支的更改推送到远程仓库。

  15. git remote -v:查看远程仓库的列表。

  16. git remote add <remote-name> <repository-url>:添加一个新的远程仓库。

  17. git remote remove <remote-name>:移除已添加的远程仓库。

  18. git reset <commit>:将 HEAD 指针和当前分支移到指定的提交。

  19. git revert <commit>:创建一个新的提交,用于撤销指定提交的更改。

  20. git stash:将当前工作目录的更改保存到一个临时区域,以便稍后恢复。

相关推荐
热爱嵌入式的小许2 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风6 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学6 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Pythonliu77 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
我是哈哈hh7 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈7 小时前
C++——模板进阶、继承
java·服务器·c++
m0_689618287 小时前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'7 小时前
每日一题&&学习笔记
笔记·学习
挥剑决浮云 -7 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记