Git入门

145 阅读7分钟

常用命令行操作

文件查看操作

pwd:查看当前目录的绝对路径

ls:查看当前目录内容

ls 路径:查看指定目录内容

查看文件内容:

cat 路径 :会显示文件的所有内容

head 路径:只显示文件的前10行

-n 行数:控制查看行数

tail 路径:只显示文件的后10行

-n 行数:控制查看行数

less 路径:进入一个可以滚动的界面 (q键退出)

文件增加操作

创建空文件:touch 文件名

echo 内容:打印内容

echo 内容 > 文件名:将内容放在文件中(文件存在会覆盖文件原有的内容,文件不存在会新建文件然后放入内容)

echo 内容 >> 文件名:将内容追加在文件中

echo -e "内容(可包含转义字符)" >> 文件名 :追加文本中使用转义字符(双引号不能少)

mkdir 文件夹名称1 文件夹名称2:新建文件夹,多个文件夹用空格隔开

mkdir -p a/b/c/d/e:创建多层目录(若有多个用空格隔开)

cp 1.txt 2.txt :将文件1拷贝成文件2

cp -r a b:将a目录复制成b目录

文件删除操作

rm 1.txt:删除文件 1.txt

rm -r a:删除文件目录a

强制执行:f

文件修改操作

code 文件名:使用VSCode打开这个文件进行编辑

start 文件名:使用对应默认的软件打开

echo 内容 >> 文件名:向文件中追加内容

echo '' > 1.txt:清空文件内容(使用echo添加一个空字符串)

mv 1.txt a:将1.txt放入a目录中

mv b/1.txt .:将b文件夹中的1.txt放入当前目录中

mv 1.txt 2.txt:将1.txt重命名为2.txt

touch 1.txt :更新文件修改时间为当前时间

脚本文件

a命令内容 && b命令内容:a命令内容执行成功之后执行b命令内容

a命令内容; b命令内容:a命令内容执行之后执行b命令内容(a命令不一定需要成功)

创建一个脚本

#!/usr/bin/env sh
mkdir x
cd x
touch index.html
touch style.css
touch main.js
echo -e "追加\n内容" >> index.html

添加可执行权限

windos可以不用,但是在mac和linux下要做

chmod +x 脚本文件名

执行脚本

./脚本文件名
or
sh 脚本文件名

注意:要加./否则不知道脚本文件的位置

可接受参数脚本

#!/usr/bin/env sh
mkdir $1
cd $1
touch index.html
touch style.css
touch main.js
echo -e "追加\n内容" >> index.html

$1表示接收到的第一个参数

git配置

git config --global user.name 你的英文名
git config --global user.email 你的邮箱
git config --global push.default simple
git config --global core.quotepath false
git config --global core.editor "code --wait"
git config --global core.autocrlf input

查看配置

git config --global --list

git命令

git init :初始化一个git仓库

git add 文件名\路径:提交文件到暂存区

git commit -m "提交信息内容" :将文件提交到仓库中,并注上提交信息

git commit -v:能够在编辑器中看到自己当前的修改行数内容

git commit -v --amend :VScode终端提交语句

git log :查看提交记录

git reflog:查看历史记录(包括回退的记录)

git reset --hard 版本号前6位:回退到指定版本

git branch:查看所有分支,以及当前所在分支

git branch 分支名:创建一个新分支

git checkout 分支名:切换到指定分支

git merge 分支名:将另一个分支合并到当前分支

git status -sb:用来查看当前哪个文件冲突了

git branch -d 分支名:删除合并后的无用的分支

git remote -v:显示所有远程仓库

注意:当合并分支的时候可能会产生冲突,解决完冲突之后应重新add、commit该文件(commit时不带参数)

.gitignore文件:配置哪些文件不需要提交

常见不用提交目录:

node_modules
.DS_Store
.idea
.vscode

远程git仓库

创建ssh key

ssh-keygen -t rsa -b 4096 -C "你的任意邮箱地址"

github配置公钥

image-20220519211657645.png

本地绑定github地址

ssh -T git@github.com

上传到远程仓库

# 将本地仓库和远程仓库连接起来
git remote add origin git@github.com:AlierQ/GitTest.git
# 将原有的master改名位main,因为github上的主分支名称由master改为了main
git branch -M main
# 推到远程仓库的main分支
git push -u origin main

上传其他分支

# 方式1
git checkout 分支名
git push -u origin 分支名
​
# 方式2
git push origin 本地分支名:远程分支名

远程获取代码合并本地版本

# 将远程的仓库合并到本地
git pull
​
# 若有多个仓库名
git pull 仓库名 远程分支名:本地分支名

克隆远程仓库

# 从目标地址克隆项目到本地
​
git clone git@XXXXXX[目标地址]    # 当前目录下新建一个与项目同名的文件夹,将项目放在里面
​
git clone git@XXXXXX[目标地址] abc # 新建一个abc目录,将克隆的项目放在这里
​
git clone git@XXXXXX[目标地址] .   # 在当前目录下直接存放项目,(最好是空文件夹)

git高级操作

bash alias简化命令

1、向/.bashrc文件里面写入配置

touch ~/.bashrc
echo 'alias ga="git add"'>> ~/.bashrc
echo 'alias gc="git commit -v"'>> ~/.bashrc
echo 'alias gl="git pull"'>> ~/.bashrc
echo 'alias gp="git push"'>> ~/.bashrc
echo 'alias gco="git checkout"'>> ~/.bashrc
echo 'alias gst="git status -sb"'>> ~/.bashrc

2、加载配置

source ~/.bashrc

美化提交历史记录

git rebase -i 版本号

image-20220520004546239.png

错误解决

中止

git rebase --abort

继续

git rebase --continue

临时隐藏文件

# git add后可以使用该命令将文件隐藏
git stash
​
# 取消隐藏
git stash pop

注意:可以连续使用,pop顺序与放入顺序相反

MarkDown语法入门(转载)

原地址

一、标题写法:
第一种方法:
1、在文本下面加上 等于号 = ,那么上方的文本就变成了大标题。等于号的个数无限制,但一定要大于0个哦。。
2、在文本下面加上 下划线 - ,那么上方的文本就变成了中标题,同样的 下划线个数无限制。
3、要想输入=号,上面有文本而不让其转化为大标题,则需要在两者之间加一个空行。
另一种方法:(推荐这种方法;注意⚠️中间需要有一个空格)
关于标题还有等级表示法,分为六个等级,显示的文本大小依次减小。不同等级之间是以井号  #  的个数来标识的。一级标题有一个 #,二级标题有两个# ,以此类推。
例如:
# 一级标题  
## 二级标题  
### 三级标题  
#### 四级标题  
##### 五级标题  
###### 六级标题 
二、编辑基本语法  
1、字体格式强调
 我们可以使用下面的方式给我们的文本添加强调的效果
*强调*  (示例:斜体)  
 _强调_  (示例:斜体)  
**加重强调**  (示例:粗体)  
 __加重强调__ (示例:粗体)  
***特别强调*** (示例:粗斜体)  
___特别强调___  (示例:粗斜体)  
2、代码  
`<hello world>`  
3、代码块高亮  
\```(去掉 "\" !!!!!)
@Override
protected void onDestroy() {
    EventBus.getDefault().unregister(this);
    super.onDestroy();
}
\```  
4、表格 (建议在表格前空一行,否则可能影响表格无法显示)
 
 表头  | 表头  | 表头
 ---- | ----- | ------  
 单元格内容  | 单元格内容 | 单元格内容 
 单元格内容  | 单元格内容 | 单元格内容  
 
5、其他引用
图片  
![图片名称](https://www.baidu.com/img/bd_logo1.png)  
链接  
[链接名称](https://www.baidu.com/)    
6、列表 
1. 项目1  
2. 项目2  
3. 项目3  
   * 项目1 (一个*号会显示为一个黑点,注意⚠️有空格,否则直接显示为*项目1) 
   * 项目2   
 
7、换行(建议直接在前一行后面补两个空格)
直接回车不能换行,  
可以在上一行文本后面补两个空格,  
这样下一行的文本就换行了。
或者就是在两行文本直接加一个空行。
也能实现换行效果,不过这个行间距有点大。  
 
8、引用
> 第一行引用文字  
> 第二行引用文字