Git的使用

Git的使用

2024/7/26 暑假学习日记 dianfu233 第一次写md,欢迎大家交流

1.常用的Linux命令

cd : 改变目录。
cd . . 回退到上一个目录,直接cd进入默认目录
pwd : 显示当前所在的目录路径。
ls(ll):  都是列出当前目录中的所有文件,只不过ll(两个ll)列出的内容更为详细。
touch : 新建一个文件 如 touch index.js 就会在当前目录下新建一个index.js文件。
rm:  删除一个文件, rm index.js 就会把index.js文件删除。
mkdir:  新建一个目录,就是新建一个文件夹。
rm -r :  删除一个文件夹, rm -r src 删除src目录
mv 移动文件, mv index.html src index.html 是我们要移动的文件, src 是目标文件夹,当然, 这样写,必须保证文件和目标文件夹在同一目录下。
reset 重新初始化终端/清屏。
clear 清屏。
history 查看命令历史。
help 帮助。
exit 退出。

2.初始化设置

在这里插入图片描述

git config --global user.name "Your Name" 配置用户名
git config --global user.email "mail@example.com" 配置邮箱
git config --global credential.helper store 存储配置
git config --global --list 查看当前配置信息

上述代码对Git进行初始化配置

3.创建仓库

在这里插入图片描述

git init <project-name>  创建一个新的本地仓库 (省略project-name则在当前目录创建)
git clone <url>  克隆一个远程仓库。

在命令行上创建一个新的存储库

echo "#desktop-tutorial" >> README.md 
git init 
git add README.md 
git commit -m "first commit" 
git branch -M main 
git remote add origin git@github.com:dianfu233/desktop-tutorial.git
 git push -u origin main

从命令行推送现有的存储库

git remote add origin git@github.com:dianfu233/desktop-tutorial.git
git branch -M main 
git push -u origin main

4.四个区域与文件状态

在这里插入图片描述

在这里插入图片描述

5.分支

在这里插入图片描述
在这里插入图片描述

git branch <分支名称>  			  //在已有仓库的情况下仅创建新的分支,
git checkout -b <分支名称>  	  //创建并切换到新创建的分支
git branch 				        //分支查看
git checkout <分支名称> 		 //切换分支
git branch -D <分支名称>   		 //删除分支
git branch -m <原名称> <新名称>  //修改分支名称
git merge <被合并的分支名称>  	   //合并分支

P.S

HEAD默认指向指向当前所在分支提交至仓库的最新一次的 commit
HEAD~{n}

~是用来在当前提交路径上回溯的修饰符

表示当前所在的提交路径上的前 n 个提交(n >= 0)
HEAD = HEAD~0
HEAD~ = HEAD~1
HEAD~~ = HEAD~2
HEAD{n个~} = HEAD~n


HEAD^n

^ 是用来切换父级提交路径的修饰符。当我们始终在一个分支比如 dev 开发/提交代码时,每个 commit 都只会有一个父级提交,就是上一次提交,但当并行多个分支开发,feat1, feat2, feat3,完成后 merge feat1 feat2 feat3dev 分支后,此次的 merge commit 就会有多个父级提交。


总结:HEAD~1 中指的是后退的步数,HEAD^1指的是退到第几个父提交上。

6.特殊文件

在这里插入图片描述

有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等

在主目录下建立".gitignore"文件,此文件有如下规则:

  1. 忽略文件中的空行或以井号(#)开始的行将会被忽略。
  2. 可以使用Linux通配符。例如:星号(*)代表任意多个字符,问号(?)代表一个字符,方括号([abc])代表可选字符范围,大括号({string1,string2,…})代表可选的字符串等。
  3. 如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略。
  4. 如果名称的最前面是一个路径分隔符(/),表示要忽略的文件在此目录下,而子目录中的文件不忽略。
  5. 如果名称的最后面是一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)。
*.txt        //忽略所有 .txt结尾的文件,这样的话上传就不会被选中!
!lib.txt     //但lib.txt除外
/temp        //仅忽略项目根目录下的TODO文件,不包括其它目录temp
build/       //忽略build/目录下的所有文件
doc/*.txt    //会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

7.文件的添加和提交

在这里插入图片描述

git add <file>               //添加文件到暂存区
git commit -m "消息内容"    	 //提交暂存区中的内容到本地仓库 -m 提交信息

8.撤销与恢复

在这里插入图片描述

git reset --mixed <commit-id> 

重置当前分支的HEAD为之前的某个提交, 并且删除所有之后的提交。
–hard参数表示重置暂存区和工作区
–soft参数表示不重置暂存区,不重置工作区,
–mixed参数表示重置暂存区,不重置工作区

9.查看状态或差异

在这里插入图片描述

git status //查看仓库状态, 列出还未提交的新的或修改的文件。
git log --oneline //查看提交历史, --oneline表示简介模式。
git diff  //查看未暂存的文件更新了哪些部分。
git diff <commit-id> <commit-id>  //查看两个提交之间的差异
git diff HEAD  //比较工作区和版本库的差异
git diff --cached  //比较暂存区与版本库的差异
  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值