Git---分布式版本控制工具

😄学会了git,你将会懒得使用U盘,百度云盘~~

鸣谢代码托管平台Gitee,GitHub巨献!!


 1.概述

1.1开发中的实际场景

 场景一:备份

 场景二:代码回溯

 场景三: 协同开发

 场景四:找到问题代码编写人和编写时间

1.2版本控制器的方式 

 一、集中式版本控制工具

版本库是集中存放在中央服务器的,team里每个人work时从中央服务器下载代码,是必须联网才能工作,局域网或互联网,个人修改后然后提交到中央版本库。

举例:SVN和CVS

二、分布式版本控制工具

没有"中央服务器",每个人电脑上都是一个完整的版本库,这样工作的时候,不需要联网了,因为版本库就在你的电脑上,多人协作只需要各自的修改推送给对方,就能互相看到对方的修改了。

举例:Git

1.3Git工作流程图

 

 

 先大概看一眼,后面会细说,知道有本地仓库和远程仓库就OOK!


 2.Git安装与常用命令

 本教程里的git命令例子都是在Git Bash中演示的,会用到一些基本的linux命令:

  • ls/ll  查看当前目录
  • cat  查看文件内容
  • touch  创建文件
  • vi  vi编辑器(也可以用notepad++,记事本)

 2.1下载与安装

    下载地址:http://git-scm.com/downloadicon-default.png?t=N7T8http://git-scm.com/download

 安装完成之后:

 

 Git GUI: Git提供的图形化界面工具

 Git Bash:Git提供的命令行工具

当安装Git后首先要做的事情就是设置用户名称和email地址,因为每次Git提交都会使用该用户信息

 2.1.1基本配置
  • 打开Git Bash
  • 设置用户信息(git config --global user.name"xxx"   git config --global user.email"xxx")
  • 查看配置信息(git config --global user.name  git config --global user.email)
 2.1.2创建点号开头的文件

 随便找个地方打开Git Bash,输入touch ~/.xiong,就会创建

C:\Users\你的用户名\.xiong

  2.2获取本地仓库

 要使用Git对我们的代码进行版本控制,首先需要获得本地仓库。

 1)新建一个文件夹当仓库【我是D:\APPS\code\GitHouse】

 2)进入这个目录,右键打开Git Bash窗口

 3)执行命令git init

 4)如果创建成功可以在文件夹里面看到隐藏的git目录

 2.3基础操作指令

 Git工作目录下对于文件的修改、增加、删除会存在几个状态,这些修改的状态会随着我们执行Git的命令而发生变化。

 

 1)git add 工作区-->暂存区

 2)git commit 暂存区-->本地仓库

 3)git status查看状态

 4)git log【options】【options】查看日志

 5)git reset --hard commitID(commitID可以用git log查看)(git reflog显示版本快照流程,倒着看时间线)

 

 6)rm 是删除文件          rm -rf 文件夹名(未暂存)      git rm -r 文件夹名(已暂存)
 

说明:git add .是将所有文件添加到暂存区,如果有一个exo.a的文件不想被提交(不被git管理)

 touch .gitignore

 vi .gitignore(*.a)


$ touch file01.txt             新建一个文件


$ git status                      查看状态
On branch master

No commits yet

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        file01.txt

nothing added to commit but untracked files present (use "git add" to track)


$ git add .                   将所有文件添加到暂存区


$ git status                 查看状态
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   file01.txt



$ git commit -m "add file01"      提交到仓库并写下日志
[master (root-commit) eb5b544] add file01
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 file01.txt


$ git status                 查看状态
On branch master
nothing to commit, working tree clean


$ git log                 查看日志
commit eb5b5440df4c50c5973731bf54523439a6bff593 (HEAD -> master)
Author: xiong <3116180734@qq.com>
Date:   Fri Aug 2 23:24:12 2024 +0800

    add file01


$ vi file01.txt               修改文件


$ git add .           修改完加到暂存区
warning: in the working copy of 'file01.txt', LF will be replaced by CRLF the next time Git touches it


$ git commit -m "update file01"       提交到本地仓库
[master cbd364f] update file01
 1 file changed, 1 insertion(+)


$ git log           查看日志
commit cbd364fb04504b896b05d04c1676f4d7bf701592 (HEAD -> master)
Author: xiong <3116180734@qq.com>
Date:   Fri Aug 2 23:28:09 2024 +0800

    update file01

commit eb5b5440df4c50c5973731bf54523439a6bff593
Author: xiong <3116180734@qq.com>
Date:   Fri Aug 2 23:24:12 2024 +0800

    add file01

 2.4分支

 分支概念:克隆一个当前时刻的自己

  •  查看本地分支(git branch)
  • 创建本地分支(git branch 分支名)
  • 切换分支(git checkout 分支名)创建并切换新分支(git checkout -b 分支名)
  • 合并分支(git merge 分支名称)
  • 删除分支(git branch -d 分支名称)(强制删除git branch -D 分支名称)
  • 解决冲突:两个分支同时对一个文件修改

 

 2.4.1开发中分支使用的原则与流程

 



 3.Git远程仓库

 3.1常用的代码托管平台

Github: 

http://github.comicon-default.png?t=N7T8http://github.com

 Gitee:http://gitee.comicon-default.png?t=N7T8http://gitee.com


3.2创建远程仓库

3.3配置SSH公钥

 生成公钥:$ ssh-keygen -t rsa                 一路回车↩︎,什么都不要管

 获取公钥:$ cat ~/.ssh/id_rsa.pub           复制你显示的一大串信息

 

 

 


 3.4操作远程仓库

 

 我要添加远程仓库origin,地址是xxxxxxx

 

 第一次可能需要输入gitee的账号密码

 

 上传成功!!!!!!!!!!!!!!

 本地分支与远程分支的关联关系

 

 从远程仓库克隆

 

 从远程仓库中抓取和拉取

 

 

 

解决合并冲突


4.在idea里面使用Git

 敲黑板!!!!重点来了。。。。。。。。。。。。。。。。。。

 

 idea这块可以看看讲义,非常简单:(pdf可下载)

 https://gitee.com/xiongmengxian/good-project/blob/master/Git%E8%AE%B2%E4%B9%89.pdficon-default.png?t=N7T8https://gitee.com/xiongmengxian/good-project/blob/master/Git%E8%AE%B2%E4%B9%89.pdf

-----------

*常见的用法操作

这些都是我平常用的时候,留下了总结一下哈哈

I.新建一个本地仓库(空),往远程仓库加新的文件

1.创建一个本地仓库,并完成初始化

git init

2.将远程仓库添加为远程源

git remote add origin <远程仓库的URL>

3.将新文件添加到暂存区

git add <你的新文件名字,1.txt>

4.提交更改

git commit -m "添加新文件啦"

5.拉取远程仓库的更改

首先,获取远程仓库的更改并将其合并到本地仓库:

--allow-unrelated-histories 选项允许合并历史记录完全不同的两个仓库。

git pull origin master --allow-unrelated-histories

6.推送更改到远程仓库

git push origin master

这样,你的新文件将被上传到包含原有n个文件的远程仓库。😀

 --------------------------------------------------END------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值