Git快速入门学习笔记

作为学习git的自我笔记。

git简介

可实现版本控制,是分布式版本控制系统。

安装与配置

sudo apt-get install git #Ubuntu安装git
git						 #测试git是否安装成功

安装成功会显示git命令帮助文档。

版本库创建

执行该命令会在当前文件夹创建.git隐藏目录,这是版本库目录

mkdir git_test
cd git_test
git init
ll

在这里插入图片描述

git命令

创建版本

‘版本1’仅是该版本解释说明,git会为版本生成唯一的序列号

git add code.txt
git commit –m '版本1'

查看版本记录

查看版本记录,一条记录四个信息分别为版本序列,作者,日期,版本说明

git log #版本详细信息
git log --pretty=oneline #版本简要信息(版本序列,版本说明)
git log --pretty=oneline --graph #还没弄懂

版本回退

  1. 方法一(适合紧邻版本切换,向旧版本迭代)
    HEAD表示当前最新版本

    1. HEAD^表示当前版本的前一个版本,HEAD^^表示当前版本的前两个版本
    2. HEAD~1表示当前版本的前一个版本,HEAD~100表示当前版本的前100版本
    git reset --hard HEAD^
    
  2. 方法二(通过版本序列指定,可向前可向后)

    git reset --hard 版本号
    

    若找不到版本序列号了,可以执行git reflog命令查看操作记录,或许就可以查到想要的版本
    在这里插入图片描述

工作区和暂存区&git运行过程

git的版本控制仅保存增删改操作,不是备份文件。

git版本控制流程如下
工作区(写代码的工作目录)有一个隐藏目录.git,是git的版本库。其中包含暂存区以及版本控制相关结构(例如自动创建的master以及指向当前版本的HEAD)。文件往git版本库里添加的时候分两步执行的:第一步是用git add把文件修改添加到暂存区;第二步是用git commit把暂存区的所有内容提交到当前分支的一个新版本。
在这里插入图片描述

查看当前工作目录状态

会显示未备份的文件、未跟踪的文件。并且有相关命令提示。

git status

撤销修改操作

  1. 未提交到暂存器,执行撤销修改
    git restore <file>...		#三个点:可批量文件操作
    
  2. 提交到暂存区,执行撤销修改(仅撤销到工作区
    git restore --staged <file>...	#三个点:可批量文件操作
    
  3. 提交到版本库,则需要执行版本回退

对比文件不同

git diff <版本/文件> <版本/文件>

在这里插入图片描述

删除文件

rm删除工作区中文件

  1. 确定删:
    git rm <文件>  #从暂存区删除
    git commit -m '版本说明'
    
  2. 删错:
    git restore --staged <file>... #恢复到暂存区
    

:删除并提交到版本库则只能通过版本恢复

分支管理

git把我们之前每次提交的版本串成一条时间线,这条时间线就是一个分支。
1. 一般master分支为主分支。
2. HEAD指向mastermaster指向当前版本。故HEAD指向的就是当前分支。

git branch <name>	#创建分支
git checkout <name>	#切换分支
git checkout -b <name>#创建+切换分支
git merge <name>	#合并某分支到当前分支
git branch -d <name>#删除分支

合并分支

git merge dev		#将当前分支与指定分支(此处为dev)合并
  1. dev分支与master分支没有分歧(dev版本由master所指版本而来,master没有其他改动)
    合并为快进模式Fast-forward为该模式提示信息)
    在这里插入图片描述
  2. devmaster都有改动,需要手动合并相应文件的差异代码
    在这里插入图片描述
  3. 遇到bug要解决时,可创建一个bug分支作为临时分支。当前分支的工作可以通过以下命令保存和恢复
    git stash		#保存工作内容
    git stash list	#查看保存的工作内容
    git stash pop	#恢复工作内容
    

使用远程仓库

首先需要在远程仓库配置ssh密钥。

ssh-keygen -t rsa -C "邮箱地址" #生成密钥

执行完命令会在用户主目录产生.ssh目录。
其中:公钥为id_rsa.pub 私钥为id_rsa
然后再在远程仓库添加,这里不做阐述。

git clone <仓库的ssh链接>		#拉取远程代码
git push origin <分支名称> 	#推送本地代码
git branch --set-upstream-to=<origin/远程分支名称> <本地分支名称> #本地分支跟踪服务器分支

工作中使用git

项目经理:
(1)项目经理搭建项目的框架。
(2)搭建完项目框架之后,项目经理把项目框架代码放到服务器。
普通员工:
(1)在自己的电脑上,生成ssh公钥,然后把公钥给项目经理,项目经理把它添加的服务器上面。
(2)项目经理会给每个组员的项目代码的地址,组员把代码下载到自己的电脑上。
(3)创建本地的分支dev,在dev分支中进行每天的开发。
(4)每一个员工开发完自己的代码之后,都需要将代码发布远程的dev分支上。
Master:用户保存发布的项目代码。V1.0,V2.0
Dev:保存开发过程中的代码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值