Git详解及常用命令

news/2024/5/17 15:54:05 标签: git, 笔记, 服务器, gitee

前言

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:将当前工作目录的更改保存到一个临时区域,以便稍后恢复。


http://www.niftyadmin.cn/n/5164667.html

相关文章

【C++】——类与对象(一)

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

蓝桥杯国一,非ACMer选手保姆级经验分享

目录 一、前言二、蓝桥杯简介三、0基础计算机新手小白&#xff0c;赛前如何准备提高自己的获奖率&#xff1f;3.1 每两周参加一次【蓝桥算法双周赛】3.2 多练真题3.3 参加每一场官方校内模拟赛 四、结语 一、前言 hello&#xff0c;大家好&#xff0c;我是大赛哥(弟)&#xff…

世界互联网大会领先科技奖发布 百度知识增强大语言模型关键技术获奖

11月8日&#xff0c;2023年世界互联网大会乌镇峰会正式开幕&#xff0c;今年是乌镇峰会举办的第十年&#xff0c;本次峰会的主题为“建设包容、普惠、有韧性的数字世界——携手构建网络空间命运共同体”。 目录 百度知识增强大语言模型关键技术荣获“世界互联网大会领先科技奖”…

C语言C位出道心法(四):文件操作

C语言C位出道心法(一):基础语法 C语言C位出道心法(二):结构体|结构体指针|链表 C语言C位出道心法(三):共用体|枚举 C语言C位出道心法(四):文件操作 一:C语言操作文件认知升维: 二:文件打开 三:文件读写操作 忙着去耍帅,后期补充完整.................................

如何判断身边的朋友是否嫉妒你?

嫉妒 &#xff0c;源于你的优秀&#xff0c;破坏了他的自恋。 为什么嫉妒往往发生在亲戚、朋友、同学、同行、同乡、同胞…之间&#xff0c;因为你们曾活在同一套自恋评价标准下。 通常情况下&#xff0c;如果你没发迹前&#xff0c;一个对你评价以负面为主的人&#xff0c;在…

进博看点|数据分析管控供应链风险

第六届进博会期间&#xff0c;全球数据和分析驱动的决策赋能机构邓白氏&#xff08;Dun & Bradstreet&#xff09;以“共创可持续发展的未来”为主题亮相服务贸易展区。作为连续四年参加进博会的“老朋友”&#xff0c;邓白氏于此次参展期间&#xff0c;在中国首发“供应链…

汽车制造业,通常都穿用哪些防护功能的劳保鞋呢?

近年来汽车行业发展迅速&#xff0c;各家各户有条件的话都会买车&#xff0c;汽车已经成为人们主要出行工具。随着人们生活水平的提高&#xff0c;汽车市场需求持续增长&#xff0c;现在的汽车制造厂也是越来越多&#xff0c;使得汽车制造业成为机械行业的重要支柱之一。 那么对…

win10 通过wmic命令行设置系统环境变量

简介 在系统维护或编写程序过程中&#xff0c;经常需要对系统环境变量进行设置、修改、删除炒作。 而通过编程修改系统环境变量&#xff0c;需要调用注册表API或调用wmi API接口&#xff0c;都有些过于麻烦。此时&#xff0c;如果通过system函数&#xff0c;直接调用批处理文…