导语

git是编码人员非常重要的工具,最近在使用的过程中发现有些命令经常忘记,所以写下此文,,一起分享,以后也可查阅

常用命令

  1. 配置身份

git config --global user.name “kkxiaojun”
git config --global user.email “985531883@qq.com”

  1. 创建repository(仓库)

git init 创建仓库
git commit -m “First commit.”-m参数来加上提交的描述信息
git add src **添加整个目录 **
git add . 添加所有的文件
git commit -m “ssh员工管理系统实现” 真正提交
git remote add origin git@github.com:kkxiaojun/EMSystemDo.git 连接远程
git push -u origin master 同步到远程
第一次加-u,二次后:git push origin master

  • 之后每次修改或添加

git add
git commit
git push origin master

  • 从远程库克隆git clone git@github.com:kkxiaojun/EMSystemDo.git

远程分支

git branch iss53 创建分支
git checkout iss53 切换到分支
git merge 合并分支

命令

Git远程分支管理
git pull # 抓取远程仓库所有分支更新并合并到本地
git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并
git fetch origin # 抓取远程仓库更新
git merge origin/master # 将远程主分支合并到本地当前分支
git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支
git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上
git push # push所有分支
git push origin master # 将本地主分支推到远程主分支
git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
git push origin <local_branch> # 创建远程分支, origin是远程仓库名
git push origin <local_branch>:<remote_branch> # 创建远程分支
git push origin :<remote_branch> #先删除本地分支(git br -d ),然后再push删除远程分支

问题解决

  • 问题:git error : ssh: Could not resolve hostname

    • 检查ssh-key (这是有的,没有则需要生成)
      ssh-key
    • 生成ssh-key

    $ ssh-keygen -t rsa -C “xxxxxx@yy.com” #建议填写自己真实有效的邮箱地址
    Generating public/private rsa key pair.
    Enter file in which to save the key (/c/Users/xxxx_000/.ssh/id_rsa): 直接回车
    Enter passphrase (empty for no passphrase): #输入密码(可以为空)
    Enter same passphrase again: #再次确认密码(可以为空)
    Your identification has been saved in /c/Users/xxxx_000/.ssh/id_rsa. #生成的密钥
    Your public key has been saved in /c/Users/xxxx_000/.ssh/id_rsa.pub. #生成的公钥
    The key fingerprint is:
    e3:51:33:xx:xx:xx:xx:xxx:61:28:83:e2:81 xxxxxx@yy.com

  • 找出ssh-key

[root@localhost ~]# cd ~/.ssh/
id_rsa id_rsa.pub known_hosts
[root@localhost ~]# cat ~/.ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyFWY3VgY8D4IDqQKOCW3bTovL7cZunWaCIl69A16POCJIpNSymEZw2wUYfGdvwmX93kp4xEqPK9/rX30duLfRWgMNV8/YE6AGZo90YXfMmti/OXHvnTrHI82LgiabX6UH1QfXQhSAtq3AHWc4KIu/0HcZUYBgTalmpNlmsol7dgTpwMQPriwNdE65dc0ZeHUxY3cHNI+v5lXjSYlRBaoJnowY5qim4ld4hH2QGYNQ+GuzPXtCkBIbkG+uiADKrDyPVGOgjbC7To4BsKoIO2/0NkRCV0/G01kL393oWmhhIlk/OhhJZ5Z6QnC1EubX/e9n0lglbdXo7St8WjT4/3qtQ== wuzhiyi51@gmail.com

  • 将SSHKey文件复制添加到GitHub上的SSH keys即可

ssh-key

  • 问题:[Git push halts on “Writing Objects: 100%]

git config --global http.postBuffer 52428800即可解决

  • 问题
    问题

1.先删除远程 Git 仓库 $ git remote rm origin
2.再添加远程 Git 仓库
$ git remote add origin git@github.com:F/Java.git

  • 问题
    git pull出现merge
    原因:git pull = git fetch + git merge
    解决办法:
    遇到merge,使用vi命令
    i 切换到insert模式
    输入信息
    :wq 保存并退出
    最后按enter
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐