04·灵魂前端工程师养成-git远程仓库GitHub

2022-09-26 16:14:05 浏览数 (1)

  • 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创建新的分支

代码语言:javascript复制
#创建分支
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分支


下载代码

代码语言:javascript复制
git clone git@github.com:DriverZeng/git-demo-1.git

GitHub代替品:

1.coding.net 2.GitLab 3.CodeHub 4.gitee(码云)

Git高级操作


简化Git命令

代码语言:javascript复制
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

代码语言:javascript复制
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

0 人点赞