Git 高级玩法

这篇博客详细介绍了Git的高级用法,包括SSH免密登录、Github加速、Git Fetch与Tag操作、Commit管理、Git Reset与Checkout、Branch与Diff、Remote管理、Config与Proxy设置,以及解决各种常见问题和优化技巧,如Git Bash中文乱码和编辑器切换。还涉及到代码格式化、持续集成(CI)与Travis的使用,以及Git相关资源和参考资料。
摘要由CSDN通过智能技术生成

SSH 免密

# 如果没有 .ssh 隐藏文件,则需要先打开 `git bash`,并执行
$ mkdir ~/.ssh
$ chmod +700 ~/.ssh

$ cd ~/.ssh
$ ssh-keygen -t rsa -C "yuzhouwan@email.com"

# 将 ~/.ssh/id_rsa.pub 中的公钥加入 github/gitlab
$ ssh -T git@github.com
  Hi asdf2014! You've successfully authenticated, but GitHub does not provide shell access.    '

# http -> ssh
$ git remote -v
  origin  https://github.com/asdf2014/yuzhouwan (fetch)
  origin  https://github.com/asdf2014/yuzhouwan (push)

$ git remote set-url origin git@github.com:asdf2014/yuzhouwan.git

$ git remote -v
  origin  git@github.com:asdf2014/yuzhouwan.git (fetch)
  origin  git@github.com:asdf2014/yuzhouwan.git (push)

Github 加速

# Ctrl + R(管理员权限运行)
# notepad "%SystemRoot%\system32\drivers\etc\hosts"

# https://asm.ca.com/zh_cn/ping.php
192.30.253.112 github.com
151.101.56.133 assets-cdn.github.com
192.30.253.116 api.github.com
192.30.253.121 codeload.github.com

# 中国 - 香港特别行政区(hkhkg02)
192.30.253.112 github.com
151.101.100.133 assets-cdn.github.com
192.30.253.116 api.github.com
192.30.253.121 codeload.github.com

Github Fetch

Normal

# Github 上对某一个开源项目进行 fork
https://github.com/apache/superset
https://github.com/asdf2014/superset (forked from apache/superset)

# 本地获取 fork 出来的 asdf2014/superset
$ git init
$ git remote add origin https://github.com/asdf2014/superset.git
$ git remote -v
  origin  https://github.com/asdf2014/superset.git (fetch)
  origin  https://github.com/asdf2014/superset.git (push)

## 发现并没有 airbnb/superset 的 origin/master,可以在直接往 asdf2014/superset 提交,然后在 github 上进行 pull request 的创建
https://github.com/apache/superset/pull/2136 (Fix werkzeug instance was created twice in Debug Mode (#2135) #2136)

$ git fetch https://github.com/apache/superset.git master:tmp
$ git diff tmp
$ git merge tmp
$ git branch -d tmp

Fetch all tags

$ git fetch --tags
$ git checkout tags/release-3.4.6
$ git checkout master
  Previous HEAD position was 1285c982... ZooKeeper 3.4.6 release.
  Switched to branch 'master'

Git Tag

Create tag

# 创建简单的标签
$ git tag v0.0.1

# 创建带有附注的 tag
$ git tag -a v0.0.2 -m "v0.0.2"

# 展示 tag 信息
$ git show v0.0.2

# 给指定的 commit,打 tag
$ git tag -a v0.0.3 6d23400

Submit tag

$ git push origin v0.0.2

# push 本地所有标签
$ git push origin –tags

Pull with specific tag

$ git clone

# 列出 tag 列表,并 checkout 到指定的 tag
$ git tag -l
$ git checkout tags/<tag_name>

# checkout 到指定的 tag,并创建一个新的 branch
$ git checkout tags/<tag_name> -b <branch_name>

Delete tag

# 删除本地 Tag
$ git tag -d v3.4.6.0
  Deleted tag 'v3.4.6.0' (was 0e48a03a)

# 删除远程 Tag
$ git push origin :refs/tags/v3.4.6.0
  To http://github.com/asdf2014/zookeeper.git
   - [
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值