Git

 小黑框粘贴快捷键: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 diff ==>比较文件差异
git diff <file..>  ==>较工作区和暂存区差异
git diff HEAD <文件..>  ==>比较工作区和版本库差异
git diff --cached <文件..> ==> 比较暂存区和版本库差异

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重新拉一下远程库的代码即可

原文地址:https://www.cnblogs.com/liuqingzhong/p/14070758.html