Git基础入门

本文详细介绍了Git的基础操作,包括初始化仓库、添加文件、提交代码、分支管理和远程仓库的交互。重点讲解了如何正常提交和强制提交到远程Git仓库,如Gitee和Github,以及解决ssh连接问题。同时,还涵盖了常用的Git命令,如git pull、git push、git branch等,以及如何处理分支合并和冲突。此外,还提供了获取和添加SSH公钥的步骤,确保无密码安全连接远程仓库。
摘要由CSDN通过智能技术生成


远程仓库正常提交

远程仓库空仓库状态

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)

强制提交本地仓库到远程

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

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

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

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])?

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

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

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

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;

异常情况

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
出现该问题原因是,因为电脑使用的是代理,公司内网,无法尚未,通过代理另一台电脑实现联网。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CDamogu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值