Git基础

Git基础

背景

比如说,我们要做某一个程序,你手中有一份办成品,但现在需要在上面进行修改。

你怕修改之后万一出现什么错误,把原来的文件也弄坏了;

每当我们完成一个新的需求点之后,又来了对这个需求更好的实现方式。为了能够有及时发布我们不得不对原来的代码进行保存

于是你不得不复制出一个又一个副本,随着需求点越来对多,于是每次都是复制粘贴副本,产出的文件就越来越多,文件多不是问题,问题是:随着版本数量的增多,你还记得这些版本各自都是修改了什么吗?

为了能够更方便我们管理这些不同版本的文件,于是有了版本控制器。

Git的安装

https://git-scm.com/downloads

Git常用命令

配置你的git

1. 设置用户签名
git config --global user.name "Your Name"
git config --global user.email "email@example.com"
2.配置SSH
# 生成sshkey
ssh-keygen -t rsa 
#执行完毕上面命令之后,按几次回车
#查看公钥的内容,复制到git的sshkey位置
cat ~/.ssh/id_rsa.pub
3.创建git仓库(创建版本库)
mkdir learngit	//创建
cd learngit	//使用
pwd	//查看当前目录
git init	//初始化,生成.git文件(若该文件隐藏,则使用ls -ah)

仓库管理

状态模型

  • 工作区(workplace)
  • 暂存区(index)
  • 本地仓库(local repository)
  • 远程仓库(remote repository)

image-20220829101734581

1.工作区(workpace->暂存区(index)
git add .  #当前文件夹以及子文件夹
git add fileName  #某个文件
2.暂存区(index)->本地仓库(local repository)
git commit -m '备注提交内容'

新建远程仓库

以码云为列进行安装-----需要配置公钥

1.克隆远程仓库
git clone xxxx地址  (不加分支默认master)
#默认拉取master分支代码
git clone git@gitee.com:liuzhenyu666/test0130.git 
git clone -b xxxxx分支    xxxx地址  (不加分支默认master)
#拉取dev分支代码
git clone  -b dev git@gitee.com:liuzhenyu666/test0130.git

工作常用步骤

git status #查看当前仓库状态 
git add  . #添加到暂存区
git commit -m 'xxxx'  #添加到本地仓库
git pull # 同步远程仓库到本地,检查远程仓库是否比本地版本更高一些
git push  #推送到远程仓库

日志查看

1.提交日志
git log #日志
git log --pretty=oneline   #美化输出,行格式显示
git log --pretty=oneline  --abbrev-commit  #简化版本号 行格式显示
2.历史命令日志
#版本相关,如果再版本回滚时误操作了,可以通过这
#个地方来找历史的版本号和命令进行恢复
git reflog   

撤销和回退

撤销修改
git checkout xxx  #撤销某个文件修改,这里的数据还没有提交到暂存区
git  checkout .   #撤销当前文件夹内所有修改
git reset --hard  HEAD    #放弃暂存区中所有的修改和新增

版本回退,慎用

git reset --hard  HEAD    #放弃当前所有修改,回退到当前版本
git reset --hard  HEAD^    #回退到上一个版本

版本控制

git log	//查看提交历史记录,从最近到最远,可以看到3次
git log --pretty=oneline	//加参,简洁查看
git reflog	//查看每一次修改历史
cat test.txt	//查看文件内容
git status	//查看工作区中文件当前状态
git reset --hard HEAD^(HEAD~100)(commit id)	//回退版本
git checkout -- test.txt	//丢弃工作区的修改,即撤销修改
git reset HEAD test.txt	//丢弃暂存区的修改(若已提交,则回退)

远程仓库

ssh-keygen -t rsa -C "youremail@example.com"	//创建SSH Key
git remote add origin git@github.com:Daisy/AKgit.git	//关联
git push -u origin master	//将本地内容推送到远程仓库(第一次)
git push origin master	//将本地内容推送到远程仓库(之后)
git remote -v        //查看远程仓库信息
git remote rm origin	//删除远程仓库(解绑)
git clone git@github.com: Daisy/AKgit.git	//克隆远程仓库
//克隆之后使用和查看
cd gitskills
ls
git remote	//查看远程库的信息
git remote -v	//查看远程库的详细信息

分支管理

1.查看分支
git branch  #查看本地分支
git branch  -a #查看所有分支
2,创建分支
git checkout -b xxx分支名字   #创建并切分支
git branch  xxx分支   #创建
git checkout  xxx分支   #切分支
3.合并分支到当前分支
git checkout master #切换到master分支
git merge xxx分支名字  #合并分支
4.删除分支
git branch -d  # 删除已合并的分支,有未合并代码不允许删除
git branch -D # 强制删除有未合并代码的分支
git push origin --delete dev_new #删除远程分支
5.本地分支和远程分支第一次关联
git push origin xxx分支名字
6.合并远程分支(master分支之下)
git checkout master
git pull origin xxx分支名字 #远程拉取XX分支
git merge origin /xxx分支名字
git push 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值