小黑框粘贴快捷键:shift + ins
小黑框复制快捷键: ctrl + ins
vim:
yy ==>复制整行
p ==>粘贴到下一行
dd ==>删除一行
:q! ==>强制退出不保存
:wq ==>保存退出
i ==>编辑,插入
A ==>光标移至行尾
:1,1s/pick/r/ ==> 替换
:2,3s/pick/s/
u==>回退
cd .. ==>返回上一级目录;
cd 文件名 ==>到文件名的目录
pwd ==>显示当前所在的目录路径
clear:清屏
ll: 目录的详细信息
ls: 只有目录名称
ls -al: a可以列出隐藏文件夹
touch 文件名 ==>新建一个文件
rm 文件名 ==>删除一个文件
mkdir 文件夹名字(可写多个名字) ==>新建一个文件夹
rm -r 文件夹名字 ==>删除文件夹
mv 原文件名 新文件名:重命名
mv 文件名 文件夹名 ==>移动文件到文件夹下
history:查看历史命令
exit:退出
==================================
--local 本地版本库,安装目录.git/config
--global 全局,用户主目录(c盘:/admin)下的.gitconfig
--system 系统配置,安装目录/etc/gitconfig
全局配置:
git config --global user.name "用户名"
git config --global user.email "邮箱"
本地配置:
git config --local user.name "用户名
git config --local user.email "邮箱"
cat .git/config==>查看本地的用户名和邮箱
git config --system --unset credential.helper==>清除用户名密码
环境变量安装的时候就自动配置了
==========================流程==================================
gitHub-ssh公钥:
0.删除:C盘用户目录下admin目录下有一个.ssh文件夹,删除掉;
1.在git Bash Here小黑框上输入: ssh-keygen -t rsa -C "2124893084@qq.com"
2.三次回车,会在C盘用户目录,admin目录下生成.ssh文件夹
3.cat ~/.ssh/id_rsa.pub ==>查看生成的秘钥
4.复制秘钥到gitHub的ssh秘钥上
mkdir test ==>创建test文件夹
cd test ==>进入test文件夹
git init ==>初始化git
git clone 远程库地址 ==>克隆远程库
touch test.java ==>创建文件夹test.java
git add . ==>添加到暂存区
git commit -m "备注"
git push origin master ==>push到远程库
git remote add [远程库name] 远程库地址 ==>添加远程库
git pull origin master ==>拉取远程库代码到本地
echo "public" >> A.java==>向A.java里写public(在后边接着写)
echo "public" > A.java==>向A.java里写public(直接覆盖)
=============================git pull origin master更新===============================
而git pull
则是将远程主机的最新内容拉下来后直接合并
git pull ==>分为两个部分:git fetch 和 git merge/git rebase
git fetch ==>是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。
git rebase ==>将本地的多次提交合并为一个
如果同样的文件,在公司只commit之后没有push,结果就回家了,在家接着写,然后push到远程,
第二天到了公司,要是push的话会有冲突,必须先拉代码,用git merge 和git rebase都可以,但是推荐rebase,因为是一条直线,
先执行git pull --rebase origin master,会进入 (master|REBASE 1/1)
然后 git add .
最后 git rebase --continue
最后再push就可以了
=======================分支=======================
git reflog ==>可以查看所有分支的所有操作记录(包括已经被删除的 commit 记录和 reset 的操作)
head==>指向的就是最新提交
1.git reset --hard fb3043d==控制HEAD指向//容易丢失代码
2.git reset --soft fb3043d==回退到暂存区
3.git reset --mixed fb3043d==回退到工作区//最常用**
git merge dev ==>合并分支dev到master
gitk --all ==>表
git checkout 分支名("-"代表切换到上一级目录)==>切换分支
git checkout 文件名 ==>撤销工作区修改
git branch (-va:查看所有分支)==>查看分支
git branch 分支名 ==>创建分支
git branch -d 分支名 ==>删除分支
git branch -M 分支重命名
git merge origin/main --allow-unrelated-histories ==> pull出现问题时
git push -u origin main ==>加了参数-u后,以后即可直接用git push 代替git push origin master
======================查看=============================
git status==>查看状态
cat 文件名 ==>可以看文件里的内容
cat ~/.gitconfig==>查看用户名邮箱
rm -rf ~/.gitconfig ==>删除用户名邮箱
git log==>查看提交记录
git log --oneline==>一行格式的提交记录
git log --oneline --pretty=format:"%h %an %ae %s" 查看具体的提交记录
git log --oneline --pretty=format:"%h %an %ae %cd %s" --graph ==>graph参数可以以图形形式看log
%H :提交对象(commit)的完整hash值
%h :提交对象的缩略hash值(前7位-能够唯一确定一个提交对象)
%s :显示提交message
%an :显示作者
%ae :显示邮件地址
%cd :显示提交日期
cat .git/config==>查找其连接的远端服务器信息
commit前七位就可以确定版本号
pwd:查看当前目录
========================error=============================
错误
1.
error: could not lock config file C:/Program Files/Git/mingw64/etc/gitconfig: Permission denied
执行命令git config --system --unset credential.helper==>出现以上错误:复制目录地址到dom命令中,找到gitconfig右击属性,安全,Users编辑权限完全控制点允许,最后再打开gitconfig删除hear
2.push远程库时填写用户名密码时需要用英文键盘,中文会报错
3.push远程库时需要输入码云账号密码
如果不想输入账号密码直接push输入一下命令:
4.1.git config credential.helper store ==>.git文件夹里的config文件里会发现多了以下一条(可以加上--global全局)
4.2.然后再push输入账号密码,下一次就不需要再输入密码了
4.因为有人更新了远程库,而自己本地库和远程库没有保持一致 pull重新拉一下远程库的代码即可