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模型
相关推荐
IsJunJianXin6 分钟前
pdd小程序 cdp 保存响应体
linux·服务器·小程序·pdd小程序·拼多多响应体解密·小程序cdp·拼多多rpc取响应体
南大白18 分钟前
IntelliJ IDEA 运行时的 JVM 本地内存溢出崩溃
git
爱就是恒久忍耐20 分钟前
现代CMake的build方式
linux·运维·服务器
让学习成为一种生活方式1 小时前
samblaster v.0.1.26安装与使用--生信工具096
大数据·elasticsearch·搜索引擎
码农小旋风1 小时前
Claude Code 基础用法大全:对话、分析、修改、测试、Git 和工作流
人工智能·git·chatgpt·claude
古城小栈1 小时前
Python 的主流Ai框架为什么优先适配 Linux 系统?
linux·人工智能·python
南大白1 小时前
Git 撤回提交完整方案
git
小马爱打代码2 小时前
Elasticsearch 容器化部署(单机版):从零搭建你的搜索和分析引擎
elasticsearch
像风一样的男人@2 小时前
python --实现代理服务器
git·ui
西敏寺的乐章2 小时前
排序三阶段:粗排→精排→重排,把业务信号灌进 ES 排序管道
elasticsearch·搜索引擎