基本的linux命令
cd :改变目录(直接cd,进入默认目录)
cd .. :回退到上一级目录
pwd :显示当前所在目录路径
ls / ll:列出所有文件(ll更加详细)
rm + 文件名 :删除文件
rm -r + 文件夹名 :删除文件夹
mkdir :新建一个文件夹
reset :初始化终端
history :查看历史命令
clear :清屏
help :帮助
exit :退出
git原理简介
- 工作区: 就是你在电脑里能看到的目录。
- 暂存区: 英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
- 版本库: 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
下面这个图展示了工作区、版本库中的暂存区和版本库之间的关系:
配置
使用 git config 命令
显示当前配置:
$ git config --list
编辑配置文件:
$ git config --e #针对当前仓库
$ git config --e --global #针对系统上所有仓库
设置用户信息:
$ git config --global user.name "..."
$ git config --global user.email ...
创建仓库
有两种方法
-
git init
进入一个目录,并初始化
$ git init #将当前目录作为git仓库 $ git init 目录名 #将指定目录作为git仓库执行该命令后,对应目录会生成一个 .git 的文件夹(隐藏文件夹)
-
git clone
从现有的git仓库中拷贝项目
$ git clone <repo> #克隆到当前目录 $ git clone <repo> <directory> #克隆到指定目录例子:
随便克隆一个github上的仓库
$ git clone https://github.com/KQLXK/Linkup.git
基本操作
常见操作
-
git add:
$ git add 文件名 #提交到暂存区 -
git commit:
$ git commit -m "..." #将暂存区内容添加到仓库 -
git status:
$ git status #确认哪些文件被修改暂存或未被跟踪 -
git log:
$ git log #查看提交日志 -
git branch:
$ git branch # 查看当前分支
提交与修改
Git 的工作就是创建和保存你的项目的快照及与之后的快照进行对比。
下表列出了有关创建与提交你的项目的快照的命令:
| 命令 | 说明 |
|---|---|
git add | 添加文件到暂存区 |
git status | 查看仓库当前的状态,显示有变更的文件。 |
git diff | 比较文件的不同,即暂存区和工作区的差异。 |
git difftool | 使用外部差异工具查看和比较文件的更改。 |
git range-diff | 比较两个提交范围之间的差异。 |
git commit | 提交暂存区到本地仓库。 |
git reset | 回退版本。 |
git rm | 将文件从暂存区和工作区中删除。 |
git mv | 移动或重命名工作区文件。 |
git notes | 添加注释。 |
git checkout | 分支切换。 |
git switch (Git 2.23 版本引入) | 更清晰地切换分支。 |
git restore (Git 2.23 版本引入) | 恢复或撤销文件的更改。 |
git show | 显示 Git 对象的详细信息。 |
提交日志
| 命令 | 说明 |
|---|---|
git log | 查看历史提交记录 |
git blame <file> | 以列表形式查看指定文件的历史修改记录 |
git shortlog | 生成简洁的提交日志摘要 |
git describe | 生成一个可读的字符串,该字符串基于 Git 的标签系统来描述当前的提交 |
远程操作
| 命令 | 说明 |
|---|---|
git remote | 远程仓库操作 |
git fetch | 从远程获取代码库 |
git pull | 下载远程代码并合并 |
git push | 上传远程代码并合并 |
git submodule | 管理包含其他 Git 仓库的项目 |
注意:git commit 后会进入vim编辑器界面
基本操作:
按下字母键
i或a或o,此时进入到可编辑状态,这时就可以输入你的注释当你输入完之后,按下
Esc键就可退出编辑状态,回到一般模式。最后就是怎么退出vim编辑器并提交commit, 有两种方法:
- 输入两字大写字母
ZZ(记住是大写)- 输入
:wq或:wq!(强行退出)
忽略文件
.gitignore文件中可以选择忽略的文件
*.txt #忽略 .txt结尾的文件
!lib.txt #处理 lib.txt
/temp #忽略名为 temp 的目录及其所有内容
build/ #忽略 build 目录下所有文件
doc/*.txt #忽略doc文件夹下的 .txt结尾的所有文件
github远程仓库
在使用前要先连接github Git 远程仓库(Github) | 菜鸟教程 (runoob.com)
添加远程仓库
$ git remote add <别名> <远程仓库地址>
例子:
$ git remote add origin git@github.com:KQLXK/test.git
查看远程仓库
$ git remote -v
拉取远程仓库
$ git pull <远程仓库名><远程分支名>:<本地分支名>
例子:
$ git pull origin main
推送到远程仓库
$ git push <远程仓库名><远程分支名>:<本地分支名>
例子:
$ git push origin master
删除远程仓库
git remote rm [别名]
使用gitee进行团队协作
- 首先在gitee上新建仓库
- 创建之后邀请成员
3. 各个成员在本地创建本地仓库连接上这个远程仓库
```
$ mkdir test2 #创建文件夹test2
$ cd test2 #转换到test2目录下操作
$ git init #初始化本地仓库
$ git remote add origin git@gitee.com:kqlxk/test2.git #连接远程仓库
```
3. 创建自己的分支进行代码编写
为了让不同成员负责不同的模块操作,一般不同的成员会使用不同的分支,在编写完自己的部分后传到远程仓库对应分支后用 `pull request` 再合并到主分支
```
$ git branch feature-branch #创建新分支
$ git checkout feature-branch #切换到新分支
```
3. 从远程仓库拉取代码
```
git pull origin <branch_name>
```
如果我们要从 `master` 分支拉取就运行
```
git pull origin master
```
3. 本地编写并保存
本地编写完代码后,应该使用 `git add` ,`git commit` 提交到本地仓库
3. push到远程仓库
在本地仓库提交完代码后,需要push到远程仓库
```
$ git push origin <远程仓库分支名>
```
3. 发起pull request
![image-20241029190454682]()
发起pull request之后由组长或管理员进行审核,再进行合并分支,就可以完成团队协作