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
    
  • 相关阅读:
    SQL注入漏洞
    回发或回调参数无效
    ListView绑定DataSet
    SQL注入漏洞全接触入门篇(二)
    条件运算符
    安全类
    ASP.NET常用代码集锦
    活动目录操作类
    x60系统安装步骤
    程序员是如何喝酒的
  • 原文地址:https://www.cnblogs.com/yeungchie/p/15025383.html
Copyright © 2011-2022 走看看