git常用常用操作指令
1:git init 初始化空的仓库,会在当前文件夹生成一个隐藏.git的文件夹,相当于一个仓库。
2:提交代码的流程:工作代码区--》暂存区 --》主仓库 --》服务器
3:git status 查看当前本地仓库的状态
4:git add(空格). (将所有的放入暂存区) / git add aa.js 将某个放到暂存区 ,将更改的文件或者文件夹放到暂存区 。此操作相当于将sourcetree的、窗口的是否将某些想暂存;
5:查看状态可以看到是否已经放到暂存区 git status changes to be committed
6:git commit -m 【备注信息】 ,放到本地主仓库:相当于sourcetree的提交(未勾选立即推送变更到origin/master时);如果只是git commit 会弹出一个vi编辑器:,因为没有备注信息(必须) ,此时可以使用git status查看本地仓库状态,如果还是 changed to be committed表示还是在暂存区,并没有提交到本地主仓库。
备注:如果还没有配置用户名和密码,git commit -m 的时候会要求告诉你是谁?,需要设置提交的用户和密码:
方式1:只适用于当前仓库
git config user.name XXXXXX(随意)
git config user.email XXX@xx.com
全局配置:配置全局的,适用于所有仓库,加不加双引号都可以,一般加上
git config --global user.email 'xxx@qq.com'
7:git log 可以查看提交日志
8:git push github仓库地址 master(主干) 将本地主仓库的内容提交到服务器主干上:相当于soursetree的推送
9.git pull github仓库地址 master 相当于sourcetree 的获取
sourcetree的多人开发操作过程:https://blog.csdn.net/ljj2312/article/details/77340561
sourcetree的多人开发操作过程:1.暂存需要提交的文件---》2.提交到本地仓库(提交按钮操作)----》3.从远程仓库中获取最新版本至本地仓库(获取按钮操作),----》 4.并与本地仓库最新代码进行合并,合并时注意冲突文件-(合并操作)--》合并时遇到冲突文件会有如下提示:--》5.解决冲突--- 打开冲突文件根据实际情况解决冲突,解决完冲突以后重新提交、合并(重复1-5动作) --》推送(推送按钮操作)
版本回滚:git log/git log --oneline 查到版本号 或者 git reflog(只有当前的git有效,重新创建的是看不到的,只能用git log/git log --oneline)
git reset --hard 版本号 :回滚到某个版本
冲突模拟:先提交服务器当前第一次的代码,然后提交到服务器第二次的代码,然后回滚到第一次的代码到本地仓库,然后随便修改一下代码,然后从服务器拉下来代码就会有冲突现象,然后解决冲突,再次commit 再次提交。
Bash命令
pwd(print working directory):当前所在路径的全名称:比如在d盘的vue文件夹里面使用pwd则当前路径的全名称是:vue
当前位于桌面:c:/users/用户名/desktop
ls(list):列举出当前目录(文件夹)下面的所有的直接子文件和子文件夹
-- 列举出来的文件夹名称有/结尾的,但是文件没有/结尾的
ls可以列举任意目录下面的所有的子文件和文件夹 ls 指定目录路径
ls -l :列举出来的文件和文件夹包含了文件的创建者/创建时间等信息
a、当前:c:/users/wilbert/desktop 希望查看c:/hydra文件夹下面有哪些内容:ls ../../../hydra
b、当前:c:/users/wilbert/desktop 希望查看当前文件夹下面的SZ7/01-Canvas第1天-认识canvas标签-坐标-绘制直线-矩形-线条颜色-路径-开辟路径-闭合路径-线宽-虚线-跑马灯-折线图/3-视频 这个目录中有哪些子文件和文件夹 ls SZ7/01-Canvas第1天-认识canvas标签-坐标-绘制直线-矩形-线条颜色-路径-开辟路径-闭合路径-线宽-虚线-跑马灯-折线图/3-视频
.表示当前目录
..表示上级目录
cd(change directory) 切换当前位于的文件夹
-->切换文件夹之后,最好使用pwd检测当前的文件夹是否发生了变化
cd 指定的文件夹路径
cd 默认情况下只能切换到当前目录下面的子目录
如果想要回到上级目录,应该使用:cd ../
..........上上级目录,应该使用:cd ../../
命令名称 -选项1 -选项2
命令名称 -选项1选项2
ls -al===ls -a -l :列举当前目录下面的所有的子文件和文件夹,并且显示详细信息,同时包含了2个目录(.和..)
ls -list === ls -l ls -a === ls --all
mkdir(make dirctory):创建文件夹
语法格式:mkdir 文件夹名称
-
默认情况下,只能在当前目录下面创建文件夹
-
可以连续创建多个文件夹:mkdir a1 a2 a3
-
也可以在指定目录下面创建文件夹:mkdir 指定的文件夹路径/新文件夹名称 -->要确保指定的文件夹路径存在
默认情况下,如果执行命令:mkdir app/css - 只有当app存在的时候才能创建css文件夹;如果不存在就会创建失败 - 如果一定要实现在app本身就不存在的时候创建css,就需要通过以下方式: - mkdir app/css -p:首先创建app,然后创建css
mkdir 目录1/目录2/目录3 -p -->可以连续创建多级目录,哪怕目录1/目录2都不存在,如果某个目录不存在,先创建该目录,再创建子目录
删除文件夹:rmdir(remove directory):只能删除空文件夹
(☆☆☆慎用☆☆☆)rm -rf 递归删除指定的文件/文件夹
rm是删除文件
-
语法格式:rm 文件路径
-
如果删除的文件路径不存在,那么会报错
-
-
不能删除自身,也不能删除父目录(不能含有.和..)
rm -f 如果说要删除的文件、文件夹不存在,不会显示错误信息
rm -r 递归删除(常用于删除非空文件夹)
创建文件
语法格式:touch 含有后缀的文件名
默认是在当前目录下面创建指定的文件 连续的在当前目录下面创建多个文件
touch 文件夹/文件名:在指定文件夹下面创建指定的文件
cp(copy):复制指定的文件/文件夹
语法格式:cp 源文件的路径(文件夹+文件名) 新文件的路径(文件夹)
复制文件夹:cp 源文件夹路径 新文件夹路径 -r
mv(move):移动文件(剪切+粘贴)
语法格式:mv 源文件的路径(文件夹+文件名) 新文件的路径(文件夹)
移动并重命名:mv 源文件的路径(文件夹+文件名) 新文件的路径(文件夹)+新文件名
直接对一个文件重命名:mv 源文件的路径(原文件夹+原文件名) 原文件夹+新文件名
任何命令(bash/git)都可以通过--help查看该命令的参数、选项
vi编辑器:对一些简单文本文件进行编辑操作
比如一些特殊的文件:ppt/excel/word/图片/xmind都是不能用记事本打开的,也就不能用vi编辑器来进行编辑
vi 文件路径:打开一个窗口,实现对该文件进行编辑
进入编辑模式:i或者a键 退出编辑模式:esc键
如果当前不处于编辑模式,想要实现保存的功能:":w" ......................想要实现退出的功能:":q" .....................想要实现保存并退出的功能:":wq" -->ps:如果当前位于编辑模式,应该首先退出编辑模式,然后再实现保存or退出的功能
如果有内容不需要保存并退出的话,建议:先退出编辑模式,然后命令:q!
注意::!q是没用的
一旦有内容没有保存直接关闭了编辑器窗口,下次的编辑该文件进入错误页面,需要按下d键删除之前的内容