git企业级使用

1.初始Git

1.1创建Git仓库

要提前说的是,仓库是进⾏版本控制的⼀个⽂件⽬录。我们要想对⽂件进⾏版本控制,就必须先创建⼀个仓库出来。创建⼀个Git本地仓库对应的命令为 git init ,注意命令要在⽂件⽬录下执⾏,例如:

刚创建的git仓库会有一个隐藏文件 .git这个文件不能修改 ,git来跟踪管理仓库的,不要⼿动

修改这个⽬录⾥⾯的⽂件,不然改乱了,就把git仓库给破坏了.如果有兴趣,可以进入.git文件中查看。

创建完之后需要配置git ,设置用户名和e-mail地址,这是非常重要的。配置指令如下:

git config [--global] user.name "Your Name"

git config [--global] user.email "email@example.com"

把 Your Name 改成你的昵称

email@example.com 改成邮箱的格式,只要格式正确即可

其中 --global 是⼀个可选项。如果使⽤了该选项,表⽰这台机器上所有的Git仓库都会使⽤这个

配置。如果你希望在不同仓库中使⽤不同的 name 或 e-mail ,可以不要 --global 选项,但要

注意的是,执⾏命令时必须要在仓库⾥。

查看配置命令如下:git config -l
删除对应的配置命令为: git config [--global] --unset user.name #删除用户名

git config [--global] --unset user.email #删除e-mail地址

1.2 使用git

认识⼯作区、暂存区、版本库

• ⼯作区:是在电脑上你要写代码或⽂件的⽬录。

• 暂存区:英⽂叫stage或index。⼀般存放在 .git ⽬录下的index⽂件(.git/index)中,我们

把暂存区有时也叫作索引(index)。

• 版本库:⼜名仓库,英⽂名 repository 。⼯作区有⼀个隐藏⽬录 .git ,它不算⼯作区,⽽

是Git的版本库。这个版本库⾥⾯的所有⽂件都可以被Git管理起来,每个⽂件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以"还原"。

下面这个图展示了三个区之间的关系:

  • 图中左侧为⼯作区,右侧为版本库。Git的版本库⾥存了很多东西,其中最重要的就是暂存区。
  • 在创建Git版本库时,Git会为我们⾃动创建⼀个唯⼀的master分⽀,以及指向master的⼀个指针叫HEAD。(分⽀和HEAD的概念后⾯再说)。
  • 当对⼯作区修改(或新增)的⽂件执⾏ git add 命令时,暂存区⽬录树的⽂件索引会被更新。
  • 当执⾏提交操作 git commit 时,master分⽀会做相应的更新,可以简单理解为暂存区的⽬录树才会被真正写到版本库中。
  • 由上述描述我们便能得知:通过新建或粘贴进⽬录的⽂件,并不能称之为向仓库中新增⽂件,⽽只是在⼯作区新增了⽂件。必须要通过使⽤ git add 和 git commit 命令才能将⽂件添加到仓库中进⾏管理!!!
    添加文件:git add file #可以添加多个文件

git add . #添加当前⽬录下的所有⽂件改动到暂存区

使⽤ git commit 命令将暂存区内容添加到本地仓库中:

git commit -m "message" # 提交暂存区全部内容到本地仓库中

git commit [file1] [file2] ... -m "message" #提交暂存区的指定⽂件到仓库区

注意 git commit 后⾯的 -m 选项,要跟上描述本次提交的message,由⽤⼾⾃⼰完成,这部分内容绝对不能省略,并要好好描述,是⽤来记录你的提交细节,是给我们⼈看的。
查看历史提交记录: git log

如果嫌弃信息麻烦,可以使用 git log --pretty=oneline 用来简化输出信息。

比如:

需要说明的是,我们看到的⼀⼤串类似 1490fde2f.....a7c1数字 的是每次提交的 commit id (版本号),Git的 commit id 不是1,2,3......递增的数字,⽽是⼀个SHA1计算出来的⼀个⾮常⼤的数字,⽤⼗六进制表⽰(你看到的 commit id 和我的肯定不⼀样,以你⾃⼰的为准)
查看暂存区的内容:git status #查看文件是否发生更新的·
版本回退:git reset [--sort] #将版本库中的内容回退

git reset [--mixed] #将版本库和暂存区中的内容回退,默认选项、

git reset [--hard]#将版本库,暂存区,工作区中所有的内容都回退。慎用。
删除文件: rm -rf [file]#只能删除工作区中的内容,不能删除其他的,

rm 命令只是删除工作区的文件,并没有删除版本库的文件,想要删除版本库文件还要执行下面的命令:

$ git add [file]

$ git commit -m "delete test"

彻底删除文件。

分支管理:

分⽀就是科幻电影⾥⾯的平⾏宇宙,当你正在电脑前努⼒学习C++的时候,另⼀个你正在另⼀个平⾏宇宙⾥努⼒学习JAVA。

Git⽀持我们查看或创建其他分⽀,在这⾥我们来创建第⼀个⾃⼰的分⽀ dev ,对应的命令为:

git branch +分支名

当我们创建新的分⽀后,Git新建了⼀个指针叫dev, * 表⽰当前 HEAD 指向的分⽀是 master 分

⽀。另外,可以通过⽬录结构发现,新的 dev 分⽀。发现⽬前dev和master指向同⼀个修改。并且也可以验证下HEAD⽬前是指向 master 的。

切换分⽀:git checkout

2.远程管理

我们⽬前所说的所有内容(⼯作区,暂存区,版本库等等),都是在本地!也就是在你的笔记本或者计算机上。⽽我们的Git其实是分布式版本控制系统!什么意思呢?

可以简单理解为,我们每个⼈的电脑上都是⼀个完整的版本库,这样你⼯作的时候,就不需要联⽹

了,因为版本库就在你⾃⼰的电脑上。既然每个⼈电脑上都有⼀个完整的版本库,那多个⼈如何协作呢?⽐⽅说你在⾃⼰电脑上改了⽂件A,你的同事也在他的电脑上改了⽂件A,这时,你们俩之间只需把各⾃的修改推送给对⽅,就可以互相看到对⽅的修改了。分布式版本控制系统的安全性要⾼很多,因为每个⼈电脑⾥都有完整的版本库,某⼀个⼈的电脑坏掉了不要紧,随便从其他⼈那⾥复制⼀个就可以了。在实际使⽤分布式版本控制系统的时候,其实很少在两⼈之间的电脑上推送版本库的修改,因为可能你们俩不在⼀个局域⽹内,两台电脑互相访问不了。也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有⼀台充当"中央服务器"的电脑,但这个服务器的作⽤仅仅是⽤来⽅便"交换"⼤家的修改,没有它⼤家也⼀样⼲活,只是交换修改不⽅便⽽已。有了这个"中央服务器"的电脑,这样就不怕本地出现什么故障了(⽐如运⽓差,硬盘坏了,上⾯的所有东西全部丢失,包括git的所有内容)。

推送到远程仓库指令:git push

从远程仓库拉取: git pull

克隆远程仓库: git clone

相关推荐
GISer_Jing8 小时前
Git协作开发:feature分支、拉取最新并合并
大数据·git·elasticsearch
高山莫衣13 小时前
git rebase多次触发冲突
大数据·git·elasticsearch
码农藏经阁13 小时前
工作中常用的Git操作命令(一)
git
kobe_OKOK_14 小时前
【团队开发】git 操作流程
git·elasticsearch·团队开发
码农垦荒笔记14 小时前
Git 安装闭坑指南(仅 Windows 环境)
windows·git
CC码码1 天前
管理你的多个 Git 密钥(多平台多账号)
git·gitlab·github
CC码码1 天前
管理你的多个 Git 密钥(单平台多账号)
git·gitlab·github
大卫小东(Sheldon)1 天前
GIM 1.5发布了! 支持Windows系统了
git·ai·rust
flying jiang1 天前
将大仓库拆分为多个小仓库
git
李boyang10 天前
Git(四):远程操作
git