- GitHub远程仓库配置
- Git高级操作
-曾老湿, 江湖人称曾老大。
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
GitHub远程仓库配置
GitHub官方地址
首先打开GitHub官网,注册一个GitHub的账号
登录后...进入设置

设置ssh-key |
---|
GitHub官方配置ssh-key文档

创建新的ssh-key

代码语言:javascript复制#生成ssh-key
MacBook-Pro:demo-1 driverzeng$ ssh-keygen -t rsa -b 4096 -C 133411023@qq.com
#执行后,会生成下面两个文件
MacBook-Pro:demo-1 driverzeng$ ll ~/.ssh/
-rw------- 1 driverzeng staff 1679 10 13 2018 id_rsa
-rw-r--r-- 1 driverzeng staff 422 10 13 2018 id_rsa.pub
#查看公钥内容
MacBook-Pro:demo-1 driverzeng$ cat ~/.ssh/id_rsa.pub
将看到的内容,复制到方框中

代码语言:javascript复制#接收一个github的公钥
MacBook-Pro:demo-1 driverzeng$ ssh -T git@github.com
#结果如下
The authenticity of host 'github.com (52.74.223.119)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,52.74.223.119' (RSA) to the list of known hosts.
Hi DriverZeng! You've successfully authenticated, but GitHub does not provide shell access.
GitHub上传代码 |
---|
登录GitHub,新建项目

编辑仓库名称:git-demo-1 编辑项目描述:前端项目
创建项目

选择SSH

打开代码项目,新建终端

在终端中输入如下命令:
代码语言:javascript复制#在本地添加远程仓库地址
git remote add origin git@github.com:DriverZeng/git-demo-1.git
##origin是远程仓库的默认名字,可以换,建议不要换
##不要使用https://地址,因为每次都需要密码
#推送本地master分支到远程origin的master分支
git push -u origin master
##如果提示你应该git pull 你就git pull一下
##git pull:先把远程分支合并到本地对应的分支
##如果远程分支没有更新过,才可以省略git pull
##例如:git pull origin master:master
## -u origin master的意思是设置上游分支
##之后就不用再设置上游分支了,直接git pull , git push即可


GitHub创建新的分支 |
---|
#创建分支
MacBook-Pro:demo-1 driverzeng$ git branch zls
#切换分支
MacBook-Pro:demo-1 driverzeng$ git checkout zls
Switched to branch 'zls'
#创建新的1.md代码,并添加到仓库中
MacBook-Pro:demo-1 driverzeng$ git add 1.md
#提交代码
MacBook-Pro:demo-1 driverzeng$ git commit -m 'add 1.md'
#上传代码
MacBook-Pro:demo-1 driverzeng$ git push -u origin zls

可以看到,master分支中,还是3个文件,并没有1.md文件

可以在GitHub上切换分支查看,切换到zls分支


下载代码 |
---|
git clone git@github.com:DriverZeng/git-demo-1.git
GitHub代替品:
1.coding.net 2.GitLab 3.CodeHub 4.gitee(码云)
Git高级操作
简化Git命令 |
---|
echo 'alias ga="git add"'>> ~/.bashrc
echo 'alias gc="git commit -v"'>> ~/.bashrc
echo 'alias gl="git pull"'>> ~/.bashrc
echo 'alias gp="git push"'>> ~/.bashrc
echo 'alias gco="git checkout"'>> ~/.bashrc
echo 'alias gst="git status -sb"'>> ~/.bashrc
source ~/.bashrc
优化Git Log |
---|
alias glog="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit -- | less"
优化前:

优化后:

Git通灵术 |
---|
如果在生产环境中,有代码没写完,不想提交,也不想删除,该怎么办?
代码语言:javascript复制#添加代码到仓库
MacBook-Pro:demo-1 driverzeng$ git add index.html
#此时代码就被放入卷轴中了
MacBook-Pro:demo-1 driverzeng$ git stash
Saved working directory and index state WIP on zls: c5f4cf5 add 1.md
#呼出代码
MacBook-Pro:demo-1 driverzeng$ git stash pop