git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.df diff
-
publihs over ssh
-
任务配置
docker run -d --name docker-jenkins -p 9000:8080 -p 50000:50000 -v /home/ec2-user/jenkins_workspace:/var/jenkins_home/workspace jenkins/jenkins:lts
最近在更新了本地代码 node 版本后,提交代码时报错如下
$ git pull project develop
ssh: connect to host github.com port 22: Connection timed out
fatal: Could not read from remote repository.
git对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一些需彰显个人实力的场景,仍然需要我们掌握足够多的git命令。
下边我们整理了45个日常用git合代码的经典操作场景,基本覆盖了工作中的需求。
我刚才提交了什么?
如果你用git commit -a 提交了一次变化(changes),而你又不确定到底这次提交了哪些内容。你就可以用下面的命令显示当前HEAD上的最近一次的提交(commit)
$ git show
// 或者
$ git log -n1 -p
问题背景
当我们使用诸如 GitHub、码云等远程 Git 托管平台时,往往会配置账号中的 SSH-key 来方便进行拉取和推送仓库.
典型的做法是使用 ssh-keygen -t rsa -C "someCommentLikeEmail" 命令及其默认配置生成在路径 ~/.ssh 下的 RSA 公钥和私钥文件:id_rsa 和 id_rsa.pub. 然后只需要把公钥文件中的内容复制粘贴到托管平台相应的位置即可. 这样一台设备的一个默认 RSA 密钥就能在多个不同的托管平台上使用了.
但当我们使用了两个 Github 账号时(例如一个用于公司项目,一个用于个人项目),便不得不配置另一个密钥,因为在不同账号中配置相同的 RSA 公钥是不被允许的,如下图:
github actions是什么?
github actions是github的持续集成及自动化工作流服务,使用起来都比较方便。大部分github actions都可以在https://github.com/marketplace?type=actions中找到。
咱们使用github actions
在github项目目录下,根目录下新建一个文件.github/workflow/xx.yml,在xx.yml写你需要自动化工作流的服务。
基本语法
name: github action的名字
on:
push:
breaches:
- 触发部署的分支
paths:
- 下列文件的变更触发部署
paths-ignore:
- 下列文件的变更不触发部署
jobs: 工作流程运行包括一项或多项作业,作业默认是并行运行。
deploy:
runs-on: 使用的系统镜像
setps: 自动化步骤
- name:步骤名称
users:使用封装好的步骤镜像
env: 环境变量
环境变量的map可用于工作流程中的所有作业和步骤
with:
有些步骤必须通过with关键词设置输入。请查阅操作的自述文件,确定所需的输入
run:
要运行的脚本
git 大家都比较熟悉,下面来简单说说git flow。通过几个简单的使用,来比较一下git flow的方便之处。为了演示方便,我现在在远程新建一个代码仓库,名字叫做GitflowDemo。
要使用 git flow,我们的先进行git flow的安装
安装
-
mac
# Homebrew $ brew install git-flow-avh # Macports $ port install git-flow-avh -
Linux
$ apt-get install git-flow -
Windows
$ wget -q -O - --no-check-certificate https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh install stable | bash
示例
- git回滚代码到某个commit 回退命令
git reset --hard HEAD^ 回退到上个版本
git reset --hard HEAD~3 回退到前3次提交之前,依次类推,回退到n次提交之前
git reset --hard commit_id 推到/进到,指定commit的哈希码(这次提交之前或之后的提交都会回滚)
提示
git的存储功能
开发中,bug就像家常便饭一样。有了bug就需要修复,在Git中,犹豫分支是如此强大,所以,每个分支都可以通过一个新的临时分支来修复,修复后,合并分支,然后将临时分支删除。
当你接到一个修复一个代号101的bug的任务时,很自然的,你想创建一个分支issue-101来修复它, 但是等等,当前正在dev上进行的工作还没提交
$ git status
# On branch dev
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: hello.py
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#