Git命令行cheatsheet(三)

GitHub是目前全世界最大的git远程托管平台,下面记录下如何和远程仓库相互协作

一、创建远程仓库

  1. 在GitHub上点击你的头像->Your Profile->Repositories->New创建仓库
  2. 填入仓库名(你可以认为这就是一个文件夹的名字),除了仓库名是必填的以外其他都是可选项,例如仓库描述、公开或私有、用README文件初始化(如果是新项目强烈推荐勾选这个选项,因为这样可以直接克隆而不需要在本地进行额外的一些同步操作了),如果忘了勾选README也没关系,空仓库中GitHub会给你一个新建文件的提示链接,点击README可以快速创建。如果是已有本地项目的话,就不用添加了了,新建仓库后会有提示教你如何将本地项目和远程仓库关联起来。
    配置仓库
    关联仓库

二、克隆仓库

克隆仓库

  1. https克隆方式:git clone https://github.com/hch814/JavaLab.git 该方式走的是https协议,克隆起来很方便,不需要往GitHub账户添加ssh秘钥,但是后续推送很麻烦,需要每次输入用户名密码(mac例外:有钥匙串功能输入一次就会记住了)
  2. ssh克隆方式:git clone git@github.com:hch814/JavaLab.git 该方式走的是ssh协议,克隆前需要将本地ssh公钥复制到GitHub账户中,否则会报“Please make sure you have the correct access rights”的错误。如果还没有本地ssh秘钥可以使用ssh-keygen生成,然后输入cat ~/.ssh/id_rsa.pub查看,将输出的结果复制到SSH keys中(头像->Settings->SSH and GPG keys)
  3. 本地查看远程仓库链接:git remote -v
    如果使用的clone方式是https则显示如下:
    origin	https://github.com/hch814/JavaLab.git (fetch)
    origin	https://github.com/hch814/JavaLab.git (push)
    
    如果使用的clone方式是ssh则显示如下:
    origin	git@github.com:hch814/JavaLab.git (fetch)
    origin	git@github.com:hch814/JavaLab.git (push)
    
  4. 切换链接:git remote set-url origin https://github.com/hch814/JavaLab.git 或者git remote set-url origin git@github.com:hch814/JavaLab.git

三、拉取和推送

  1. 拉取:git pull 若远程仓库有更新(可能是其他人的也可能是你自己在异地的提交),使用该命令可以将更新合并至本地

  2. 推送:git push [--set-upstream origin master] 如果你切换过远程仓库链接,那么你后面的第一次推送需要加上–set-upstream origin master

  3. 创建本地分支并同时追踪远程:git checkout -b <branch name> --track origin/<branch name>

    现在考虑一个场景:有时候我们开发需要开一个分支,例如修复bug和开发一个新特性,这样可以有效的并行开发。然后再往GitHub或者GitLab中提交merge request

    开分支有两种方式:
    一种是在远程开好分支,本地直接拉下来

    $ git checkout -b feature-branch origin/feature-branch #检出远程的feature-branch分支到本地
    

    另一种是本地先开好分支然后推送到远程

    $ git checkout -b feature-branch #创建并切换到分支feature-branch
    $ git push origin feature-branch:feature-branch #推送本地的feature-branch(冒号前面的)分支到远程origin的feature-branch(冒号后面的)分支(没有会自动创建)
    

四、代理设置

由于某些不可抗拒因素导致我们访问GitHub很慢,设置代理后可以提高拉取和推送的速率

  1. 查看飞机场的监听地址和端口
    ssr
  2. 设置http代理
    git config --global http.proxy "socks5://127.0.0.1:1086"
    git config --global https.proxy "socks5://127.0.0.1:1086"
    
  3. 设置ssh代理
    $vim ~/.ssh/config 
    
    # 必须是 github.com
    Host github.com
       HostName github.com
       User hch814
       # 走 HTTP 代理
       # ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=1087
       # 走 socks5 代理(如 Shadowsocks)
       ProxyCommand nc -v -x 127.0.0.1:1086 %h %p
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值