pre {
counter-reset: line-numbering;
border: solid 1px #d9d9d9;
border-radius: 0;
background: #fff;
padding: 0;
line-height: 23px;
margin-bottom: 30px;
white-space: pre;
overflow-x: auto;
word-break: inherit;
word-wrap: inherit;
}
pre a::before {
content: counter(line-numbering);
counter-increment: line-numbering;
padding-right: 1em; /* space after numbers */
width: 25px;
text-align: right;
opacity: 0.7;
display: inline-block;
color: #aaa;
background: #eee;
margin-right: 16px;
padding: 2px 10px;
font-size: 13px;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
pre a:first-of-type::before {
padding-top: 10px;
}
pre a:last-of-type::before {
padding-bottom: 10px;
}
pre a:only-of-type::before {
padding: 10px;
}
.highlight { background-color: #ffffcc } /* RIGHT */
git
安装
安装时傻瓜式安装,不用修改选项
安装成功后,右击,会出现:
Git Gui ,图形化界面,一般不用
Git Bash,一个linux终端
GIt Bash常用命令
clear
清空终端内容
常用命令
初始化
git init
在项目目录右击git bash,初始化git,会在当前项目增加一个.git隐藏目录,那些版本备份都会在该文件夹下
配置用户信息
该操作一个人只要配置一次
自报家门,在git中设置当前使用的用户是谁
git config --global user.name "xiaoyue"
git config --global user.email "[email protected]"
//不一定是真实的,但一定是符合邮箱格式的
添加到暂存区
git add ./readme.md
./代表当前文件夹 ,没有报错代表成功
git add .
//提交全部,除了忽略文件之外
提交到本地仓库
git commit -m "我初始化好项目了"
-m : --message 提交信息,方便以后查看时,知道本次提交做了些什么
查看状态
git status
若工作区是干净的,表示没有修改。没有要提交到暂存区的文件,也没有要提交到本地仓库的文件
红色代表有修改代码,但是还没有提交到暂存区
绿色表示有修改,没有提交到本地仓库
一次性提交所有
git commit --all -m "一些说明"
提交到远程仓库
git push 【远程地址】 【分支名】
提交到远程仓库master分支
如果是第一次提交,会需要填写用户名和邮箱什么的
把当前分支的内容上传到远程的master分支
git remote add 【给该远程地址起的名字origin】 【远程地址】
设置一个远程的路径
设置完之后,再次提交时可以这样写git push origin master
git push --set-upstream 【远程地址的名字】 master
如果不想每次都填写远程地址,就可以设置一次默认的远程地址和默认的分支,--set-upstream
可以缩写为-u
设置完之后,在提交时就可以这样写 git push
拉取远程仓库的内容
方式一:pull
git pull 【远程地址】 【分支名】
会把远程分支的数据得到,注意一定先要git init
初始化一下
如果本地也有内容,拉取时就会合并,如果有冲突,自己手动处理冲突
如果想直接git pull
,那你需要在push时用一次-u
git remote add 【给该远程地址起的名字origin】 【远程地址】
git push --set-upstream 【远程地址的名字】 master
方式二:clone
git clone [远程地址]
注意一定先要git init
初始化一下
把项目整个克隆下来,多克隆几次会覆盖本地,所以小心使用
查看提交日志/记录
git log
//多行显示日志
git log --oneline
//查看简洁版日志
git reflog
//可以看到所有提交和切换的记录
回溯到之前的版本
方式一
先查看提交日志有几条记录,记录是上面最新下面最旧,从上往下一次为0迭代
git --hard Head~0
回溯到上一次的版本
git --hard Head~1
回溯到上上一次的版本
git --hard Head~2
回溯到上上上一次的版本
回溯完后,你的日志记录就只有回溯之前的了
方式二
git --hard '日志id'
//回溯到准确的某个地方
,虽然log只显示之前的记录,但是你还是能通过日志id直接通过此方式进行回溯
分支
git branch dev
,创建一个叫dev的分支
git branch
查看分支,前面带有*号的表示当前所处分支
git checkout dev
,切换到dev分支
git merge dev
,合并dev分支到当前分支(有*的那个分支)
情景:假如我在做一个轮播图的功能,花时比较长,只能提交到分支了为了不影响其他人
此时添加分支banner,
切换到banner分支,
提交代码到分支,
等到更能完成,提交代码到分支
切换到主分支,查看log,你会发现log里并没有分支提交记录,
此时你需要合并banner到主分支,在查看log,就有分支的提交记录了
git branch -d dev
删除某个分支 ,注意:只有不在dev分支的时候才能删除dev分支
ssh方式上传代码
不需要用户名和密码
公钥 私钥
获取公钥
生成你的公钥ssh https://gitee.com/help/articles/4181#article-header0。按照说明文档在git bash上操作获取公钥.
如果已经有公钥了直接获取就行(查看自己电脑有没有配置过公钥,用户>xiaoyue>.ssh>id_rsa.pab 打开此文件,里边就是你的公钥)
- 运行命令
ssh-keygen -t rsa -C "[email protected]"
- 按照提示完成三次回车,即可生成 ssh key
- 通过查看
cat ~/.ssh/id_rsa.pub
文件内容,获取到你的 public key - 复制你的公钥,在线上 码云 添加公钥。 完成此操作,你的电脑就和你线上的码云仓库就打通了
常见报错情况
常见错误一
error: bad signature //错误的签名
fatal: index file corrupt //索引文件损坏
解决方法1:
rm -f .git/index
//rm为linux语句,删除文件用的 rm -f表示直接删除
git reset
//重置
接单粗暴的解决:
直接删除.git文件,重新init
常见错误二
merge合并dev分支时,出现冲突conflicts!需要手动进行修改选择,删除不要的,留下正确的
然后再查看状态,该提交的提交
常见问题三
情景:
A用户修改了index代码上传到github,B用户在没有更新的情况下修改了本地代码,并准备上传。如果上传会报错。
- 这个时候,应该先拉取远程的代码到本地,再上传,提示有冲突就在本地解决冲突。
- 如果先上传再拉取就是在远程会出现冲突,远程有冲突不易解决。
- 所以,养成良好的习惯,先拉取再上传
注意:
如果拉取的时候,bash终端会出现 编辑信息的页面,
此时,按下Esc,再按下:(冒号),再按下w(保存)q(退出),再回车,终端下面会显示:wq