• Git基础入门



    远程仓库正常提交

    远程仓库空仓库状态

    git init
    git remote add origin  '远程仓库链接'
    git pull origin master 下拉代码
    git add .
    git commit -m  ""
    git push -u origin master	首次提交
    git push  origin master		非首次提交
    如果需要输入账号、密码,输入管理员账号密码(Gitee、Github)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    强制提交本地仓库到远程

    远程已经建立了仓库, 且本地也已经建立了仓库

    git init
    git remote add origin "http://your remote repo address"
    git add .
    git commit -m"1"
    git branch	判断分支
    git config --global user.name "yourname"
    git config --global user.email "youremail@"
    git pull origin master		多人协作,需要吧远程master代码pull下来
    git branch --set-upstream-to=origin/master master   分支远程<->本地
    git pull origin master --allow-unrelated-histories	强制合并
    git push
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Git常用指令

    • 初始化:git init
    • 添加文件:git add .
    • 提交代码:git commit -m ""
    • 追加提交:git commit --amend
    • 退出追加提交::wq #类似linux的vi文本操作
    • 设置代理:
      • git config --global http.proxy http://192.168.80.202:808
      • git config --global http.proxy https://192.168.80.202:808
    • 取消代理:
      • git config --global --unset http.proxy
      • git config --global --unset https.proxy
    • 查看当前设置代理:
      • git config --global --get http.proxy
      • git config --global --get https.proxy
    • 获取配置信息:git config --list
    • 配置用户、邮箱:
      • git config user.name
      • git config user.email
      • git config --global user.name "your name”
      • git config --global user.email "you@example.com"
    • 与仓库建立连接:git remote add origin http://...
    • 获取版本:
      • git log
      • git log pretty=oneline 一行显示
    • 获取历史版本:git reflog
    • 设置版本:git reset --hard ...
    • 多次合并提交;增删改查; git rebase -i [startpoint] [endpoint] 弹出对话框,类似linux vi操控文件
      • pick:保留该commit(缩写:p)
      • reword:保留该commit,但我需要修改该commit的注释(缩写:r)
      • edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
      • squash:将该commit和前一个commit合并(缩写:s)
      • fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
      • exec:执行shell命令(缩写:x)
      • drop:我要丢弃该commit(缩写:d)
    • 强制合并:git pull --allow-unrelated-histories 参数是因为两个仓库毫无关联,需要加
    • 拽取:git pull
    • 上传:git push
    • 查看远程仓库:git remote -vi 可以查看你当前项目的远程git地址
    • 获取远程仓库master分支,并新建一个分支:git fetch origin master:temp #[origin]不定,通过git remote -v查看远程仓库是什么
    • 查看代码状态:git status 查看代码改动、所在分支、代码冲突等

    分支操作

    • 合并分支:git merge [branch] 合并分支到master
    • 创建本地分支并切换:git checkout -b dev
    • 关联远程分支:git branch --set-upstream-to=origin/remote_branch your_branch
    • 新建分支:git branch +分支名
    • 切换分支:git switch +分支名
    • 删除分支:git branch -d +分支名
    • 查看分支代码改动:git diff [branch]
    • 查看远程分支:git branch -a
    • 分支提交到远程仓库:git push origin dev:dev 将dev分支提交到远程仓库
    • 将远程分支拉下来:git pull origin master

    获取公钥(GITEE)

    ssh-keygen -t rsa -C "xxxxx@xxxxx.com"
    ssh-keygen -t rsa -C 'xxxxx@company.com' -f gitee_id_rsa
    
    cat ~/.ssh/id_rsa.pub
    生成的位置:C:/Users/Administrator/.ssh
    
    公钥添加完成后:
    ssh -T git@gitee.com
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    Step1: 首次使用需要确认并添加主机到本机SSH可信列表。

    The authenticity of host 'gitee.com (212.64.62.183)' can't be established.
    ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQp+KkGYoFgbVr17bmjey0Wc.
    Are you sure you want to continue connecting (yes/no/[fingerprint])?
    
    • 1
    • 2
    • 3

    Step2: 输入Y即可

    Hi liuwanqiang (DeployKey)! You've successfully authenticated, but GITEE.COM does not provide shell access.
    Note: Perhaps the current use is DeployKey.
    Note: DeployKey only supports pull/fetch operations
    
    • 1
    • 2
    • 3

    Step3: 若返回xx 内容,则证明添加成功

    Hi XXX! You've successfully authenticated,
    but Gitee.com does not provide shell access.
    
    • 1
    • 2

    Step4: 针对ssh -T git@gitee.com命令运行错误的解决方案

    • ssh -T git@gitee.com-> git@gitee.com: Permission denied (publickey)
      1. ssh-agent -s
      2. ssh-add ~/.ssh/id_rsa
    • ssh-agent -s-> unable to start ssh-agent service, error :1058
      1. Win+R ->services
      2. OpenSSH Authentication Agent
      3. if disabled then ->Automatic

    获取公钥(GITHUB)

    1. 切换文件夹:cd ~/.ssh/
    2. 如果没有的话则:mkdir ../.ssh
    3. 配置信息:
      • git config --global user.name "Damogu"
      • git config --global user.email "919740574@qq.com"
    4. 生成ssh密钥:ssh-keygen -t rsa -C "919740574@qq.com"
      • 路径选择 : 使用该命令之后, 会出现提示选择ssh-key生成路径, 这里直接点回车默认即可, 生成的ssh-key在默认路径中;
      • 密码确认 : 这里我们不使用密码进行登录, 用密码太麻烦;就一路回车下去
    5. 公钥私钥位置:
      • 例:C:/Users/Han Dong/.ssh 目录
        1. id_rsa
        2. id_rsa.pub 公钥(内容加入到github)
    6. 验证是否配置成功:ssh -T git@github.com

    正常情况

    出现如下信息:
    Warning: Permanently added the RSA host key for IP address '192.30.252.131' to the list of known hosts.
    
    Hi AssistantLiu! You've successfully authenticated, but GitHub does not provide shell access.
    验证时可能让你输入YES,当出现以上信息时,说明配置成功,可以连接上GitHub;
    
    • 1
    • 2
    • 3
    • 4
    • 5

    异常情况

    ssh: Could not resolve hostname github.com: \262\273\326\252\265\300\325\342\321\371\265\304\326\367\273\372\241\243
    出现该问题原因是,因为电脑使用的是代理,公司内网,无法尚未,通过代理另一台电脑实现联网。
    
    • 1
    • 2
  • 相关阅读:
    windows环境下PHP7.4多线程设置
    LFU 缓存 -- LinkedHashSet
    Vue项目中监听全屏事件,实现全屏功能和按esc退出全屏(解决全屏踩坑难题)
    SQL ZOO —— 6 JOIN
    JAVA学习-java基础讲义01
    pt30redis数据类型
    SpringCloud Alibaba微服务实战二 - 服务注册
    基于动态规划法的水力发电优化调度(Python代码实现)
    【Synopsys Bug记录】DC综合报错(显示warning:Unable to resolve reference)
    2023 年最佳 Android 数据恢复软件工具
  • 原文地址:https://blog.csdn.net/qq_33704787/article/details/125886835