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 protected]	##配置邮箱
 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 "[email protected]"	#直接enter,如果是第二次执行,记得更改文件名,不然会覆盖之前的id_rsa文件,且不可逆

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

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

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

复制代码
 git clone [email protected]: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 [email protected]:xxx.git
    git push -u origin main

  2. 本地已经有仓库

    git remote add origin [email protected]: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模型
相关推荐
GalaxyPokemon12 分钟前
LeetCode - 148. 排序链表
linux·算法·leetcode
懒羊羊大王呀29 分钟前
Ubuntu20.04中 Redis 的安装和配置
linux·redis
杰哥技术分享1 小时前
在 CentOS 上安装 Docker 和 Docker Compose 并配置使用国内镜像源
linux·docker·centos
知更鸟呆呆1 小时前
【Linux操作系统】基础开发工具(yum、vim、gcc/g++)
linux·运维·vim
xiangyong581 小时前
ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
linux·ubuntu·gnu
t198751282 小时前
Linux 上的 Tomcat 端口占用排查
linux·tomcat·firefox
小狗爱吃黄桃罐头2 小时前
正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-12.1 Linux内核启动流程简介
linux·arm开发·学习
地衣君3 小时前
Ubuntu 配置使用 zsh + 插件配置 + oh-my-zsh 美化过程
linux·运维·ubuntu
2401_858286113 小时前
OS11.【Linux】vim文本编辑器
linux·运维·服务器·编辑器·vim
朱包林3 小时前
day27-shell编程(自动化)
linux·运维·服务器·网络·shell脚本