cd ~/.ssh
如果有sshls
查看 id_rsa 私钥 id_rsa.pub 公钥
-
ssh -T [email protected]
失败:Permission denied (publickey). -
ssh -T [email protected]
成功:Welcome to GitLab, llc!
-
vi id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC7odIM9m+pTppzApEXekWbSkk3pFxQJqEnxNyNdV5I2m3zUOkkmsSlVwEdXGwEamLrgx4e8zJCbsQyfPfpWEBW1vxf4FPfKln2hfXuWOAxMqPnhamwmIX9I1Rp4nyhCSv1VZwTFqa8dMdbfibtW2mF3HZND9mE/FI+nfXTgrT/c/PUDLRmmq5yc4MUQItdXYALqW7Xgy9nimpJrPAZro7aB3n6u/pj5Jrkrw3K3Yqi1mbhnCr0Fcua5JR1LSyLkPuIfzFkQgCAwxgJ1Ix02MHhdsg0XJp5SgqW/uX4qrupXDpE0Sw2aQEzqIU+avEKLjvjcz2c50OffZ+qOtzGyNaf [email protected]
```
$ ssh-keygen -t rsa -C "[email protected]"
-
获取仓库 git地址后克隆到指定文件夹
cd Desktop
`git clone [email protected]:8023/LLCFramework.git`
`cd LLCFramework`
`git status -s` -
修改
git add *
`git commit -m '提交log'` 或 `git commit -a` 进入log的编辑文件 vi编辑保存退出后就行。
-
查看本地分支:
git branch
不带参数:列出本地已经存在的分支,并且在当前分支的前面加“*”号标记 -
列出远程分支
git branch -r
-
创建本地分支
git branch branchname
-
删除branchname分支
git branch -d branchname
d 如果当前分支有没合并的会报错 D 强制删除 -
删除远程branchname分支
git branch -d -r branchname
-
切换分支
git checkout branchname
-
克隆远程单个分支
git clone -b branchname
-
合并分支
1.切换到将要合并到的分支:
git checkout master
2.合并分支到当前分支:
git merge branchname
3.解决冲突: 查看:
git status -s
缓存:git add *
提交到本地:git commit -m
-
回滚
git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id
【本地代码库回滚】:
git reset --hard commit-id :回滚到commit-id,讲commit-id之后提交的commit都去除
git reset --hard HEAD~3:将最近3次的提交回滚
【远程代码库回滚】:
这个是重点要说的内容,过程比本地回滚要复杂
应用场景:自动部署系统发布后发现问题,需要回滚到某一个commit,再重新发布
原理:先将本地分支退回到某个commit,删除远程分支,再重新push本地分支
操作步骤:
1、
git checkout the_branch
2、
git pull
3、
git branch the_branch_backup
//备份一下这个分支当前的情况4、
git reset --hard the_commit_id
//把the_branch本地回滚到the_commit_id5、
git push origin :the_branch
//删除远程 the_branch6、
git push origin the_branch
//用回滚后的本地分支重新建立远程分支
-
提交到远程服务器:
git push origin master
-
从远程服务器拉取:
git pull