Git基础知识

Git基础

安装

官网下载地址

https://git-scm.com/downloads

安装步骤

图形化安装

配置全局用户名和邮箱

git config --global user.name "Your Name" 
git config --global user.email "email@example.com"

配置SSH

# 生成
sshkey ssh-keygen -t rsa -C "your_email@youremail.com"  
#执行完毕上面命令之后,按几次回车 
#查看公钥的内容,复制到git的sshkey位置 c
at ~/.ssh/id_rsa.pub 
#测试 
ssh -T git@gitee.com

创建git仓库

git  init

状态模型

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

在这里插入图片描述

仓库管理

工作区(workpace->暂存区(index)

git add .  #当前文件夹以及子文件夹 git add fileName  #某个文件

暂存区(index)->本地仓库(local repository)

git commit -m '备注提交内容'

克隆远程仓库

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

查看远程仓库

git remote -v

同步远程仓库

#未关联远程仓库时 
git pull origin  xxxxx git push origin  xxxxx 
#关联之后,不需要加分支名字 
git pull git push

设置本地仓库和远程仓库关联

git push --set-upstream origin xxx

工作常用步骤

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

注:千万记住不要使用 -f参数,会强制用本地仓库覆盖远程仓库例如:git push -f 或 git push orign

日志查看

提交日志

git log #日志 git log --pretty=oneline   #美化输出,行格式显示 
git log --pretty=oneline  --abbrev-commit  #简化版本号 行格式显示

历史命令日志

#版本相关,如果再版本回滚时误操作了,可以通过这
 #个地方来找历史的版本号和命令进行恢复 
git reflog   

撤销和回退

撤销修改

git checkout xxx  #撤销某个文件修改
 git  checkout .   #撤销当前文件夹内所有修改 
 git reset --hard  HEAD    #放弃暂存区中所有的修改和新增

版本回退,慎用

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

分支管理

查看分支

git brancn  #查看本地分支 
git brancn  -a #查看所有分支

创建分支

git checkout -b xxx分支名字   #创建并切分支

git branch  xxx分支   #创建 
git checkout  xxx分支   #切分支

合并分支到当前分支

git merge xxx分支名字

删除分支

git branch -d  # 删除已合并的分支,有未合并代码不允许删除 
git branch -D # 强制删除有未合并代码的分支
git push origin --delete dev_new #删除远程分支

本地分支和远程分支第一次关联

git push --set-upstream origin master0513

标签管理

发布一个版本时,我们通常先在版本库中打一个标签(tag),这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照

Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。

Git有commit,为什么还要引入tag?

“请把上周一的那个版本打包发布,commit号是6a5819e…”

“一串乱七八糟的数字不好找!”

如果换一个办法:

“请把上周一的那个版本打包发布,版本号是v1.2”

“好的,按照tag v1.2查找commit就行!”

所以,tag就是一个让人容易记住的有意义的名字,它跟某个commit绑在一起。

创建和查看

git tag  v1.0 #创建一个v1.0的标签 
git tag v0.9 f52c633   #基于某一个版本,创建一个v0.9的标签 #基于某一个版本,添加备注,创建一个v0.1的标签 
git tag -a v0.1 -m "version 0.1 released" 1094adb   
git tag #查看标签列表 
git show <tagname> #查看某个标签详情
git checkout tagname #切标签

同步和删除

git tag -d v0.1 #删除本地分支 
git push origin v1.0 #推送某个分支到远程 
git push origin --tags #推送所有分支到远程

删除远程标签

 #先删除本地标签 
 git tag -d v0.9 
 #后删除远程标签 
 git push origin :refs/tags/v0.9

删除

从暂存区和工作区删除

git rm <file>  git rm test.txt  #删掉文件 
#如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f 
git rm -f test.txt 

从跟踪清单中删除

#如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可: 
git rm --cached <file> 
git rm --cached test.txt 
git rm --cached -r  .

忽略文件.gitignore

  • 内容示例,忽略.idea、target文件夹和所有以iml为后缀的文件
/.idea/ /target/ *.iml
  • 已提交的文件如何恢复忽略
    • git rm --cached 文件
    • git rm --cached -r 文件夹
    • git rm --cached -r .

参考:https://www.liaoxuefeng.com/wiki/896043488029600/902335212905824

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三师兄东流

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值