Linux下git安装及使用

Linux下Git使用

1. git的安装

sudo apt install git

安装完,使用git --version查看git版本

2. 配置git

git config --global user.name "Your Name"	##配置用户
git config --global user.email email@example.com	##配置邮箱
 git config --global --list			##查看配置信息
## --global 全局配置,所有仓库生效,不加就只对当前用户有效
## --system 系统配置,对所有用户生效

3. 新建版本库

 git init

4. 工作区域与文件状态

5. 添加和提交文件

git init		##创建仓库
git status		##查看仓库的状态
git add			##添加到暂存库
git commit 		##提交
git rm --cached <file>...		##将文件从暂存区中去除
git log			##查看提交记录
git ls-files	##查看暂存区的文件
git commit -a -m " " #实现添加和提交两个步骤

3. 回退版本

git reset --soft
git reset --hard
git reset --mixed	
git reset HEAD^		##默认为mixed,回退一个版本

HEAD 表示当前版本
HEAD^ 上一个版本
HEAD^^ 上上一个版本
HEAD^^^ 上上上一个版本
HEAD~0 表示当前版本
HEAD~1 上一个版本
HEAD^2 上上一个版本
HEAD^3 上上上一个版本
执行 git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存

误操作之后

git reflog		##回溯日志
git reset --hard 版本号	##回退

6. 查看差异

git diff				#默认比较工作区和暂存区之间的差异
git diff HEAD			#比较工作区和版本库之间的差异
git diff --cached		#比较暂存区和版本库之间的区别
git diff 版本号	版本号	#比较两个版本之间的差异
git diff HEAD~ HEAD		#如回退版本

7. 删除文件

方法1:先删除本地文件,再提交

rm -rf 3.txt	##删除本地中的文件
git add .		##删除暂存区中的文件
git commit -m 'deleted 3.txt'	##删除工作区文件

方法2

git rm 2.txt	##删除本地和暂存区中文件
git commit -m 'deleted 2.txt'	##删除工作区文件

8. 忽略文件

 echo "*.log" > .gitignore		##表示忽略所有日志文件

9. 远程仓库github

注册github账号,创建仓库

10. ssh配置和克隆仓库

创建ssh密钥

cd ~
cd .ssh		#如果显示文件不存在,就之间执行以下命令
ssh-keygen -t rsa -b 4096 -C "xxx@email.com"	#直接enter,如果是第二次执行,记得更改文件名,不然会覆盖之前的id_rsa文件,且不可逆

执行之前的命令会生成以下两个文件,有.pub的是公钥文件,没有的是私钥文件,复制公钥文件到github的Settings里的ssh配置

如果是第一次配置就配置完了,如果是第二次,更改了文件名的,就需要新建一个config文件,内容为

意思是:当我们在访问github.com这个网站的时候。使用的是test这个文件里的密钥

 git clone git@github.com:xxx.git		##克隆新建的远程仓库
git push	##将本地文件推送到远程仓库

11. 关联本地仓库和远程仓库

  1. 本地无仓库

    echo "# fist-repo" >> README.md
    git init
    git add README.md
    git commit -m "first commit"
    git branch -M main
    git remote add origin git@github.com:xxx.git
    git push -u origin main

  2. 本地已经有仓库

    git remote add origin git@github.com:xxx.git ##添加一个远程仓库
    git branch -M main ##指定分支的名称为main
    git push -u origin main ##把本地的main分支与远程的orgin main分支关联

    git remote -v ##查看本地仓库对应的远程仓库别名

12. 分支

git branch			#查看分支
git branch	dev		#新建分支dev
git checkout dev	#切换到分支dev(有风险,有时会用来恢复文件)
git switch main		#切换到分支main
git merge dev		#将要被合并的分支(dev)合并到当前分支(main)
git log --graph --oneline --decorate --all	##查看分支情况
git branch -d dev	#删除分支(已经合并)
git branch -D dev	#删除分支(未合并,强行删除)

13. 回退和rebase

14. 分支管理和工作流模型

  1. git flow模型
  1. github flow模型
相关推荐
鼠鼠龙年发大财1 分钟前
【x**3专享】安装SSH、XFTP、XShell、ARM Linux
linux·arm开发·ssh
txtsteve3 分钟前
es由一个集群迁移到另外一个集群es的数据迁移
大数据·elasticsearch·搜索引擎
nfgo4 分钟前
快速体验Linux发行版:DistroSea详解与操作指南
linux·ubuntu·centos
工作中的程序员6 分钟前
ES 索引或索引模板
大数据·数据库·elasticsearch
为祖国添砖爪哇10 分钟前
【Git原理与使用】版本管理与分支管理(1)
git
Rookie_explorers43 分钟前
Linux下go环境安装、环境配置并执行第一个go程序
linux·运维·golang
weixin_424215841 小时前
shell运算实战案例-KFC点餐系统
linux·centos
小黑爱编程2 小时前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
BeyondESH2 小时前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
鱼饼6号2 小时前
Prometheus 上手指南
linux·运维·centos·prometheus