Git命令
Linux 基本命令
SSH 客户端
在 VMware 界面中操作虚拟机非常不友好,所以一般推荐使用专门的 SSH 客户端。市面上常见的有:
- Xshell:个人免费,商业收费,之前爆出过有隐藏后门。不推荐
- Finshell:基础功能免费,高级功能收费,基于 Java,内存占用较高(在 1 个 G 左右)。不推荐
- MobarXterm:基础功能免费、高级功能收费。开源、功能强大、内存占用低(只有 10m 左右),但是界面不太漂亮。推荐使用
(教程随便找个网上的配置就行了,注意不要使用校园网!!!我被坑了好久)
1.目录操作
1.1 切换目录
1 |
|
1.2 查看目录
1 |
|
1.3 创建目录
1 |
|
1.4 删除目录
1 |
|
参数说明
-r(recursion)
:递归删除,用于删除目录及其内部所有文件和子目录。-f(force)
:强制删除,忽略不存在的文件并且不显示任何提示。
1.5 移动和重命名
1 |
|
2.文件操作
2.1 创建文件
1 |
|
2.2 删除文件
1 |
|
2.3 编辑文件
1 |
|
示例
启动 vi 编辑器:
1
vi filename.txt
打开文件后,默认进入命令模式。
从插入模式切换到命令模式:
- 按
i
进入插入模式。 - 完成编辑后,按
ESC
返回命令模式。
- 按
从底行模式切换到命令模式:
- 在命令模式下,按
:
进入底行模式。 - 输入命令(例如
:wq
)后,按Enter
返回命令模式。
- 在命令模式下,按
2.4 查看文件
2.4.1. cat
命令
cat
(concatenate)命令用于一次性显示整个文件内容,或者将多个文件连接起来输出。
1 |
|
2.4.2 less
命令
1 |
|
Git 命令
1.获取本地仓库
进入目标目录后右键点击 Git Bash Here
运行命令
1 |
|
成功之后可在文件夹下看到.git
文件夹
2.基础操作指令
2.1 Git 的三个主要区域
在 Git 中,文件的修改会在不同的区域之间转换,这些区域主要包括工作区(Working Directory)、暂存区(Staging Area)和版本库(Repository)。理解这些区域的关系对于有效地使用 Git 至关重要。
- 工作区(Working Directory)
- 描述:工作区是你在文件系统中实际看到和操作的项目目录。在这里,你可以编辑、添加、删除文件。
- 状态:当你在工作区中对文件进行修改时,这些文件处于“已修改”(modified)状态。
- 暂存区(Staging Area)
- 描述:暂存区是一个临时区域,用于存放即将提交到版本库的文件变更。
- 状态:通过
git add
命令,你可以将工作区中已修改的文件添加到暂存区,这些文件此时处于“已暂存”(staged)状态。
- 版本库(Repository)
- 描述:版本库是 Git 用来存储项目历史记录的地方。当你提交(commit)变更时,这些变更会被记录在版本库中。
- 状态:通过
git commit
命令,暂存区中的文件变更会被提交到版本库,文件状态变为“已提交”(committed)。
1 |
|
2.2 查看提交日志
作用:查看提交记录
命令形式:git log [option]
常用选项
--all
:显示所有分支--pretty=oneline
:将提交信息显示为一行--abbrev-commit
:使得输出的 commit ID 更简短--graph
:以图的形式显示
每次输入这些参数非常的麻烦,我们可以使用别名简化
打开gitbash
,执行touch ~/.bashrc
,然后在文件中添加如下内容:
1 |
|
关闭文件后让执行文件生效,执行source ~/.bashrc
,然后执行git-log
即可查看提交日志
2.3 版本回退
可以通过日志产看提交的版本号,然后使用git reset
命令回退到指定版本
使用git reflog
命令可以查看已经删除的提交记录
1 |
|
2.4 添加忽略文件
可以在项目根目录下创建.gitignore
文件,然后在文件中添加需要忽略的文件或目录,这样提交时就不会提交这些文件
示例:
1 |
|
3.分支操作
Git 的分支也非常轻量。它们只是简单地指向某个提交纪录 —— 仅此而已。所以许多 Git 爱好者传颂:
早建分支!多用分支!
这是因为即使创建再多的分支也不会造成储存或内存上的开销,并且按逻辑分解工作到不同的分支要比维护那些特别臃肿的分支简单多了。
在将分支和提交记录结合起来后,我们会看到两者如何协作。现在只要记住使用分支其实就相当于在说:“我想基于这个提交以及它所有的 parent 提交进行新的工作。”
3.1 创建分支
使用 git branch <分支名>
来创建一个新分支。
1 |
|
3.2 切换分支
使用 git checkout <分支名>
来切换到指定分支。
1 |
|
使用 git checkout -b <分支名>
可以同时创建并切换到新分支。
1 |
|
3.3 合并分支
使用 git merge <分支名>
将指定分支合并到当前分支。
需要先切换到要合并到的分支,然后再执行合并操作。
1 |
|
3.4 删除分支
使用 git branch -d <分支名>
删除本地分支。
注意: 不能删除当前所在的分支。
1 |
|
4 操作远程仓库
4.1 创建远程仓库
在github
或gitee
上创建一个新的仓库,在本地库中执行以下命令生成 SSH 公钥(文件路径为C:\Users\用户名\.ssh\id_rsa.pub
):
1 |
|
打开文件或者用命令cat ~/.ssh/id_rsa.pub
查看公钥内容并将文件内容复制到远程仓库的 SSH 密钥中。
4.2 添加远程仓库
此操作是先初始化本地库,然后与已创建的远程库进行对接。
命令: git remote add <远端名称> <仓库路径>
远端名称,默认是 origin,取决于远端服务器设置。仓库路径,从远端服务器获取此 URL
例如:
1 |
|
4.3 查看远程仓库
命令:git remote
4.4 推送到远程仓库
git push [options] [远程仓库] [本地分支]:[远程分支]
如果远程分支名和本地分支名称相同,则可以只写本地分支。git push
命令的可选参数包括:
-u
或--set-upstream
:设置上游分支--force
或-f
:强制推送,即使会覆盖远程分支。--all
:推送所有本地分支。--tags
:推送所有本地标签。--dry-run
:模拟推送,不执行实际操作。--delete
:删除远程分支。--mirror
:推送所有引用(包括标签和远程分支)。--atomic
:确保所有分支一起推送成功,否则全部失败。
1 |
|
-f
表示强制覆盖--set-upstream
表示推送到远端的同时并且建立起和远端分支的关联关系。
如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
1 |
|