zoukankan      html  css  js  c++  java
  • [ Git ] 创建 本地/远程 仓库 & [ SSH ] 免密 push

    https://www.cnblogs.com/yeungchie/

    SSH 免密登录

    生成 SSH 密钥/公钥

    ssh-keygen
    

    发送 SSH 公钥

    ssh-copy-id yeungchie@home-nas
    

    初始化本地仓库 init

    mkdir repo
    cd repo
    git init
    

    Initialized empty Git repository in ~/repo/.git/

    添加远程仓库 remote add

    git remote add nas git@nas.com:yeungchie/repo.git
    git remote
    

    nas

    拉取远程仓库 pull

    git pull nas main
    

    remote: Enumerating objects: 4, done.
    remote: Counting objects: 100% (4/4), done.
    remote: Compressing objects: 100% (4/4), done.
    remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
    Unpacking objects: 100% (4/4), 1.07 KiB | 4.00 KiB/s, done.
    From nas.com:yeungchie/repo

    • branch main -> FETCH_HEAD
    • [new branch] main -> nas/main

    提交本地改动

    添加改动到暂存区 add

    git add .
    

    提交暂存区 commit

    git commit -m 'new'
    

    [main 20791ab] new
    1 file changed, 36 insertions(+)
    create mode 100644 newfile.sh

    分支 branch

    查看分支

    git branch
    git branch -a              # 查看所有分支 包括远程仓库
    git branch --show-current  # 查看当前所在分支
    

    切换分支

    git checkout $branchName
    

    推送 push

    将远程设置为上游并 push

    • 第一次需要这么操作
    git push --set-upstream nas main
    

    Enumerating objects: 4, done.
    Counting objects: 100% (4/4), done.
    Delta compression using up to 12 threads
    Compressing objects: 100% (3/3), done.
    Writing objects: 100% (3/3), 956 bytes | 956.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    remote: Powered by NAS.COM [GNK-6.0]
    To nas.com:yeungchie/repo.git
    a9a16fa..20791ab main -> main
    Branch 'main' set up to track remote branch 'main' from 'nas'.

    后面 push 只需要这样

    需要确保当前分支为远程仓库主分支 否则需要指定分支

    git push nas
    git push nas main  # 指定 main 分支
    

    Everything up-to-date

    拓展内容

    SSH config 格式

    Host alias_name                     # HOST100
        HostName        ip_address      # 192.168.1.100
        Port            port_number     # 22
        User            login_name      # yeung
        IdentityFile    ~/.ssh/id_rsa
        # PerferredAuthentications publickey
    

    快速 push 脚本

    • 自动识别已添加的远程仓库并 push
    #!/bin/bash
    remotes=`git remote 2>&1`
    if [[ ! $remotes =~ 'fatal: not a git repository' ]]; then
        for r in $remotes; do
            echo "git push $r"
            git push $r
        done
    fi
    

    Git Bash 命令输出中文显示异常

    git config --global core.quotepath false
    
  • 相关阅读:
    在Tomcat运行JSP的一个问题
    英语时态的性趣学法
    温哥华蝉联全球最宜居城市榜首 Vancouver still world's most liveable city: survey
    【转】解压缩版tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
    五个常用MySQL图形化管理工具
    windows下将解压缩版的tomcat设置为自动运行的系统服务
    Java初学者Java的学习路径(全集)
    [ZT]森田学习体会
    7种错误冲奶粉法 宝宝的健康会打折
    数据库系统原理
  • 原文地址:https://www.cnblogs.com/yeungchie/p/15025383.html
Copyright © 2011-2022 走看看