Git基本使用命令行

Git

一、Git概述

1、什么是Git
Git是一个开源的分布式版本控制系统(Disributed Version Control System,简称DVCS)。可以有效、高速地 处理从小到非常大的项目版本管理。

版本控制

协同开发

2、什么是版本控制系统
版本控制系统能追踪项目,从开始到结束的整个过程。对编程人员而言,版本控制技术是团队协作 开发的桥梁,助力于多人协作同步进行大型项目开发。软件版本控制系统的核心任务:查阅项目历史操作 记录、实现协同开发。

3、常见的版本控制系统
① 集中式版本控制工具 svn

 集中式版本控制工具,版本仓库是集中存放在中央服务器的,team里每个人工作时,从中央 服务 器下载代码。每个人个人修改后,提交到中央版本仓库。提交(commit)代码需要联网。如:svn 这会造成一个明显的问题:单点故障

在这里插入图片描述

② 分布式版本控制工具 git

分布式版本控制系统可以没有 “中央服务器”,每个人的电脑上都是一个完整的版本仓库,这样工 作的时候,不需要联网。因为版本仓库就在你自己的电脑上。多人协作只需要各自修改,开发完成即 可,推送给对方【联网】,推送的时候是将整个版本仓库推过去。如:Git

在这里插入图片描述

4、Git的特点
① 速度、简单的设计

② 对非线性开发模式的强力支持(允许成千上万个并行开发的分支) 

③ 完全分布式 

④ 有能力高效管理类似 Linux 内核一样的超大规模项目(速度和数据量)

 ⑤ 协同开发

image-20230516161309303

Clone:克隆,从远程仓库中克隆代码到本地仓库,第一次操作

Push:推送,代码完成后,需要和团队成员共享代码时,将代码推送到远程仓库。

Pull:拉取,从远程库拉代码到本地库,自动进行合并(merge),最后放到工作区。

image-20230516161335867

5、基本概念
本地仓库: 在本地主机上的一个代码库,可以独立存在,也可以与远程仓库进行关联

工作区:对任何文件的修订(增删改),都先放在工作区,工作区不与任何仓库分支进行关联

暂存区:把修订的文件,从工作区经过add(添加)后与某一个仓库分支进行关联,只有进 入缓存区的文 件才能commit(提交)到本地仓库。

远程仓库 : 在局域网或互联网上的一个主机,存放代码库的主机或平台,比如GitHub、 Gitee.com(码云)

分支:代码存放在仓库,默认是主分支(master),可以在主分支基础上创建很多子分支,比如 develop(开发)、bugfix(bug修复)等。

二、Git的下载和安装

三、Git的基本配置总结
1.安装完成 Git 后,正式使用git前,是需要进行一些全局设置的,如用户名、邮箱。

设置全局用户名

git config --global user.name “your name”

设置邮箱

git config --global user.email “your email”

邮箱不要乱写 用自己的邮箱 写完检查一下

git config --list 查看配置列表

image-20230516161639496

以上配置信息默认存储在用户目录下,如果设置错误,可以删除以下如图文件,重新操作以上命令 即 可

image-20230516161658813

2.查看配置信息:git config --list

image-20230516161721748

3.构建本地仓库:要使用Git对我们的代码进行版本控制,首先需要构建本地仓库

① 在本地初始化一个Git仓库

② 从远程仓库克隆一个仓库

image-20230516161754327

linux常用命令

1、touch 文件 创建文件

2、cat 文件 查看文件

3、vim 文件 编辑文件

1、默认是查看模式 

2、按i进入编辑模式 

3、编辑完成之后 按esc 退出编辑模式

 4、:wq 保存退出 :q! 强制退出 

4、清屏 clear 

5、粘贴和复制 不是ctrl + c 和ctrl + v 可以使用右键粘贴复制

粘贴 shift + insert 

复制 ctrl + insert

本地仓库的相关操作

1.在本地初始化一个Git仓库:

在电脑的任意位置创建一个空目录作为我们的本地Git仓库

进入这个目录中,点击右键打开Git bash窗口

执行命令Git init 如果在当前目录中看到.git文件夹(此文件夹为隐藏文件夹)则说明Git仓库创建成功

2.查看文件状态: git status [-s]

3.将文件添加(修改)到版本库

要将一个文件纳入到版本库管理,首先要将其添加到暂存区,然后才能提交到仓库中。

#创建文件 Readme.txt # 添加单个文件到暂存区 git add Readme.txt # 将当前目录下所有修改添加到暂存区,除按照规则忽略的之外 git add .

4.将暂存区中的文件,提交到仓库中 # 带评论提交,用于说明提交内容、变更、作用等 git commit -m ‘your comments’ Readme.txt

5.查看提交历史记录 有的时候,是会需要查看自己做过哪些提交,来回顾自己完成的部分。或者需要寻找某个具体的提 交来 查看当时的代码。

git log # 显示所有提交的历史记录

a.txt commit 本地仓库 1234

b.txt commit 本地仓库 2345

git log

git reset --hard ‘1234’

6.版本回退 有了 git log 来查看提交的历史记录,我们就可以通过 git reset --hard 来回退到我们需要 的特定版本,然后使用当时的代码进行各种操作。

#回退到 commit_id 指定的提交版本

git reset --hard ‘commit_id’

7.回到未来的某个提交

当退回到某个提交的版本以后,再通过 git log 是无法显示在这之后的提交信息的。但是,通过 git reflog 可以获取到操作命令的历史。因此,想要回到未来的某个提交,先通过 git reflog 从 历史命令中找到想要回到的提交版本的 ID, 然后通过 git reset --hard 来切换。

git reflog

git reset --hard ‘commit_id’

总结
1、本地工作区 到暂存区

git add 指定的文件 git add .

没有添加暂存区 文件未被跟踪的 红色

git status 查询文件的状态
2、暂存区到本地仓库

git commit -m ‘备注信息’ 提交 所有的

git commit -m ‘备注信息’ 指定文件

			在暂存区文件的颜色 是绿色 可以commit

3、查看提交的历史

git log 查看详细的

git reflog 查看简洁的

4、版本回退

git reset --hard 'commit_id'

四、分支管理

1、查看分支
查看本地分支信息 git branch

查看相对详细的本地分支信息 git branch -v 

查看包括远程仓库在内的分支信息 git branch -av 

注意:前面带有*号,这标识我们当前所在的分支

2、创建分支
新建一个名称为 dev 的分支

git branch dev

3、切换分支
新建完 dev 分支以后,通过该命令切换到 dev 分支

git checkout dev 

注意:当我们创建完分支以后,我们需要切换到新建的分支,否则,所有的修改,还是在原来的分支 上。事实上,所有的改动,只能影响到当前所在的分支。

4、创建并切换分支
新建 dev 分支,并切换到该分支上

git checkout -b dev

5、合并分支
切换回 master 分支 git checkout master

将 dev 分支中的修改合并回 master 分支 git merge dev 

注意:分支修改文件中如果有换行的话会报错

解决:Git默认配置替换回车换行成统一的CRLF,我们只需要修改配置禁用该功能即可。 git config --global core.autocrlf false

6、删除分支
当之前创建的分支,完成了它的使命,如 Bug 修复完,分支合并以后,这个分支就不在需要了, 就可 以删除它。

删除dev分支 

git branch -d dev

7、合并冲突
1、构建一个本地仓库 git init

2、创建a.txt 书写代码 hello git1 hello git2 hello git3

3、在主分支master 将a.txt 添加到暂存区 git add .

4、在主分支master 将暂存区的a.txt 提交到本次仓库 git commit -m ‘1 commit a.txt’ a.txt

5、创建并切换到bugfix分支 git checkout -b bugfix

6、在bugfix分支中修改了a.txt 第一行代码 hello git1 bugfix的代码

7、在bugfix需要将修改的a.txt ---- add ---- commit 本地仓库

8、切换到master分支 git checkout master

9、在master主分支也修改a.txt的第一行代码

	hello git1 master的代码 

10、在master需要将修改的a.txt ---- add ---- commit 本地仓库

11、在master分支中合并bugfix分支 git merge bugfix 会出现合并冲突:在master和bugfix分支都修改了a.txt的第一行代码,不知道保留谁的,需要自己手 动合并

12、手动合并

	在master分支去编辑a.txt 

	vi a.txt 手动保留需要的代码 

13、将合并完的a.txt添加到暂存区 git add .

14、将合并完的暂存区a.txt 提交到本地仓库

	git commmit -m 'merge a.txt'

总结
1、查看分支信息

git branch -v 

2、创建分支

git branch 分支名称 

3、切换分支

git checkout 分支名称 

4、创建并切换分支

git checkout -b 分支名称 

5、合并分支

git merge 分支 	切换主分支进行合并 

注意合并冲突 

6、删除分支

git branch -d 分支名称 

注意事项 vim修改了文件 一定要记着添加到本地仓库 add - commit

五、关联远程仓库
https关联的方式
1、在gitee上创建一个远程仓库
2、在本地初始化一个本地仓库
git init
3、粘贴远程仓库的http地址
4、查看本地仓库是否关联了远程仓库
git remote -v
5、本地仓库关联远程仓库

git remote add 别名 https地址
别名自己可以随便取 可以用origin
git remote -v 查看是否关联上

6、编写代码 将代码提交到本地仓库
add ----commit
7、将本地仓库的内容提交到远程仓库
git push 远程仓库的别名 master
ssh配置方式 比https更加安全和快速
配置ssh公钥 git clone ssh地址
其他的操作方式跟https一样
8、克隆
git clone https地址

六、本地仓库和远程仓库的版本不一致如何解决
1、拉取远程仓库 git pull 远程仓库别名 master

2、暴力拉取远程仓库 git pull --rebase 远程仓库别名 master

1、在找到已有代码的远程仓库,复制ssh地址

2、在本地构建本地仓库,并且编写代码 提交到本地仓库

git init 

编写 a.txt 

git add . 

git commit -m 'commit a.txt'

3、关联远程仓库

git remote -v 查看 

git remote add 别名 ssh的地址

4、push本地仓库的内容肯定是push不上的,会出现错误

原因是因为本地仓库和远程仓库版本不一致

image-20230517094007101

5、使用强制拉取在提交

git pull --rebase origin master 强制拉取 

再push就可以成功

七、多人协同开发
1、组长创建一个远程仓库

2、添加小组成员

在这里插入图片描述
在这里插入图片描述

3、组长和组员都在操作同一个远程仓库

4、构建本地仓库 去提交代码

连接远程仓库 选择克隆的方式 clone 

git clone ssh地址

5、原则: 现在远程仓库不是一个人在用 在push代码的时候,一定要先pull拉取再push

拉取: git pull origin master 

提交: git push origin master

八、远程分支操作
1、到目前为止,操作的都是主分支master

2、可以创建其他分支来操作

3、现在本地创建day01分支 提交当前的作业到本地仓库 (默认提交到的分支是day01分支)

4、提交到远程仓库 git push 远程仓库的别名 day01

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值