首先 我们需要了解几个单词。这几个单词有一些去掉原音发音aoeiu后就形成了命令行操作指令
file 文件 list 列表 touch 触摸
make 制作 relursive 递归 change 改变
move 移动 link 链接 directory 目录
remove 删除 find 寻找 force 强制
copy 拷贝 echo 回声
缩写:去掉aoeiu后形成命令(大部分取两个字母,所以例如copy,去掉原音o只留cp)
mk 制作 cd 改变目录--change directory
mv 移动 ln链接
rm 删除
cp 拷贝
ls 列表
所有的程序都是围绕增删改查进行的,那么我们来了解一下命令行操作的增删改查
在操作前,可以先了解一下如何进入桌面,代码是
cd ~/Desktop //~代表的是用户users的简写 .代表当前目录
pwd 查看当前目录的绝对路径
ls 查看当前目录内容
q 退出当前文件
ls (路径) 查看该路径的内容
ls -l 查看当前目录的所有信息情况(不包含隐藏文件)
ls -a 查看当前目录下所有文件(包括隐藏文件)
ls -al 查看所有文件(包括隐藏文件)的信息情况
增分三种 创建文件 创建目录 创建
-
创建文件:touch 命令 可以touch一个空的文件 例如:touch b.txt
同时创建多个文件 touch a.txt b.txt
往文件中创建内容 echo haha>a.txt 往文件中写入haha内容 但是会覆盖
往文件中追加内容 echo hahahaha>>a.txt
往文件中追加多行内容 echo -e '1\n2' >a.txt
-
创建目录: 同时创建多个文件夹 mkdir a b c
同时创建多个有层级的文件夹 mkdir -p a/b/c 1/2/3
-
拷贝文件:将1.txt拷贝到2.txt cp 1.txt 2.txt
将a文件夹拷贝到b文件夹 cp -r a b
查看文件和查看目录
-
查看文件: less 1.txt 可以查看到文件内的所有内容,会分页查看
cat 1.txt 查看文件内所有内容,不会分页
head -n 10 1.txt 查看前10行内容 默认10行 默认写法:head 1.txt
tail -n 10 1.txt 查看后10行内容 同上
-
查看当前路径: pwd
-
查看目录内容:ls 查看当前目录中有哪些内容
ls -lt 查看当前目录中的内容包含时间
ls -l 查看当前目录下详细信息
包含删除文件和删除目录
rm 1.txt 删除文件
rm -r a b 删除a和b目录
rm a/b/c/1.txt 删除该目录下的文件
我们可以通过默认模式或者指定vscode打开相应文件
默认模式打开:start 1.txt 或者mac下用 open 1.txt 打开
vscode打开:code 1.txt 这种方法需要设置一下vscode
设置方法:
安装:打开VSCode –> command+shift+p –> 输入shell command –> 点击提示Shell Command: Install ‘code’ command in PATH运行
使用:打开终端,cd到要用VSCode打开的文件夹,然后输入命令code .即可打开
移动文件到指定目录
mv 1.txt a 移动文件到a文件夹
mv a/b/c . 移动文件到当前目录 .代表当前目录
更新文件时间 touch 1.txt 没错 又是touch
修改名字 mv 1.txt 2.txt 把同目录中的1.txt修改名字为2.txt 没错 用的是mv 你可以理解为把当前目录中1.txt移动到当前目录下的2.txt 就改名了。。。不知道发明这个的逻辑~~
将文件内容清空 echo '' > 1.txt
全局设置邮箱跟姓名
/* 全局 */
git config –-global user.name 'your name'
git config –-global user.email 'email@xxx.com'
/* 某个具体的仓库 */
git config –-local user.name 'your name'
git config –-local user.email 'email@xxx.com'
其他配置
git config --global push.default simple //发送单个分支到远程而不是默认的matching全部发送
git config --global core.quotepath false
git config --global core.editor "code --wait"
git config --global core.autocrlf input
查看 config的配置
git config --list --global
git config --list --local
其次就可以开启git在本地仓库的一些应用了,实际上git本地仓库就是在你需要版本管理的目录下增加一个.git目录,来帮助你版本管理 注意这个目录不要是桌面 以免将你的桌面设置一个git目录,会传入很多桌面文件到git上去
提交
cd git-demo-1
git init /* git仓库初始化,增加xxx目录下.git目录 */
git add .
git commit -m 'xxxxx'
git分三个区域:工作目录,暂存区,版本历史区
其中暂存区用git add命令提交文件。进入暂存区后文件会被git管控
版本历史区则需要git commit提交文件。
查看文件在哪个状态(是否跟git关联,目前是否在备选区)
git status
git status -sb 查看简化的冲突信息
git重命名,重命名后可以直接git commit
git mv beforName afterName
查看版本历史
git log 查看当前版本历史
git log --oneline 简略查看
git log -n4 --oneline 简略查看最近4条
git log --all --graph 图形化查看所有版本历史 包括分支
git reflog 查看所有切换过版本的情况以及切换过的操作情况用 也可看到commit后的版本号
/*区别*/
git reflog会记录所有信息,包括你穿越reset后的操作信息,git log只显示你当前版本到原始版本的信息
分支操作
git branch -v 查看所有分支
git branch -vv 查看所有分支与远程分支的关联情况
git branch xx分支 创建xx分支
git branch -d xxx 删除xxx分支
git branch -D xxx 强制删除xxx分支
git branch | grep -v 'master' | xargs git branch -D 删除除了 master 以外的所有本地分支
git checkout -b xxx 创建并切换到xxx分支
git checkout xxx 切换到xxx分支
git checkout -b xx分支 origin/xx分支 从远程xx分支创建并切换到xx分支
git branch --set-upstream-to=origin/[remote branch] 本地分支跟远程分支关联
修改message
git commit --amend 修改最新分支的message
git rebase -i xxx commit字符串xxx 修改历史分支的message 需要pick r 命令后修改
git rebase -I XX commit字符串xxx 合并多次提交到一次 需要pick s 命令后修改
xxx commit字符串代表要以xxxcommit为基础进行rebase。rebase是基于这个commit的,所以可pick的commit不会取rebase的那一级。但pick是可添加的,如果希望包含以rebase为基础的commit, 则可以添加 pick xxx commit字符串,然后git rebase - -continue
s命令代表跟选中的上一级进行合并,可pick分支至少留一个否则rebase失败。
贮藏
git stash
git stash pop 弹出最后一个贮藏
git stash apply 弹出最后一个贮藏 但贮藏区还在
git stash list 查看贮藏列表
恢复
git reset HEAD 取消被暂存的内容
git reset --hard xxx版本号 切换版本 这个操作需要add过的文件都commit 否则会删除掉add过的文件
git reset --hard HEAD 恢复成上次提交的commit
git reset HEAD^ 恢复到上一个版本
删除
git rm file 删除某个文件 删除后可以直接commit
合并
git merge x 合并当前线与分支x
如果产生了冲突,会提示conflict,那么我们可以通过git status -sb 指令来查看哪些产生了冲突的简化信息。找到冲突的文件,会发现git已经帮助识别冲突的地方 对冲突的内容作出处理,处理结束后切记要add到备选状态。然后git status -sb找到下一个冲突的文件,改了继续add 全部修改完后 git commit 一下 这时候不需要-v 或者-m
git文件可以放在云端进行管理,一般我们都会选择与github进行关联。
在与github关联前,需要做一些配置工作。为了方便我们上传,可以通过ssh key来关联本地仓库与github仓库的关系。
这种方式实际上就是在自己的电脑上放私有钥匙,github上放公有钥匙进行配对。
前提条件:需要电脑上已安装git
配置步骤:
ssh-keygen -t rsa -b 4096 -C 邮箱 一直回车 三次
cat ~/.ssh/id_rsa.pub # 得到公钥内容 在users目录内会有.ssh目录
然后复制公钥的内容,粘贴到github的setting--ssh key中
测试是否已连接
ssh -T git@github.com
提示会问你yes or no 填yes即可。这个步骤是github给你返回了一个公钥来确认你是你
首先在github上面创建一个代码仓库 然后点击ssh(这个步骤很重要,不要点https 因为我们用了ssh key!!)
下面会提示两行代码
git remote add origin git@xxxxxx //表示在本地添加远程地址 仓库的名字默认origin
git push -u origin main //推送本地的分支到远程的main分支 写过一次这个代码 那么下次就不需要写全了
下次如果要提交就用git push即可
如果遇到git pull 那就输入git pull一下 一般需要git pull的情况是远程仓库发生了变动 需要与本地做合并
如何上传其他分支
$ git push origin x:x
方法2:
$ git checkout x
$ git push -u origin x
如何修改远程url 地址:
$ git remote set-url origin xxxxx
$ git remote get-url origin
下载别人的代码
git clone git@xxxxxxx 如果是自己的代码 可以用ssh 如果是别人的 可以用http的码
如果是不同机器 需要另外安装ssh 一个机子一个key
GitHub Gist: 7bad0ac857fb1a92b886e1aa5cbbd2bb309a944c