许多Git服务器都使用SSH公钥进行认证。默认情况下,用户的公钥存在 ~/.ssh(C:\Users\zhanglong.ssh),
    image.png

    image.png

    image.png

    image.png

    image.png

    如果是新电脑 :
    1、打开git

    1. git config --global user.name "yourname"
    2. git config --global user.email "your@email.com"
    3. zhanglong@weipaitang.com

    2、删除.ssh文件夹(直接搜索该文件夹)下的known_hosts(手动删除即可,不需要git)
    3、git输入命令

    1. $ ssh-keygen -t rsa -C "your@email.com"


    接着出现:

    1. Generating public/private rsa key pair.
    2. Enter file in which to save the key (/c/Users/Administrator/.ssh/id_rsa):

    按回车
    然后系统会自动在.ssh文件夹下生成两个文件,id_rsa和id_rsa.pub,用记事本打开id_rsa.pub
    然后将id_rsa.pub里面的东西全选复制,
    打开github,找到设置,
    image.png
    重新创建一个key
    image.png
    添加key
    image.png
    就可以了。

    git常用命令:

    1. git fetch origin develop:develop 本地创建dev分支
    2. git checkout develop 本地切换dev分支
    3. git pull origin feature/syzl 拉取分支代码
    1. 拉取git远程分支到本地
    2. 1git clone
    3. 2cd 到项目目录下
    4. 3git fetch origin develop:develop
    5. 4git checkout -b 本地分支名x origin/远程分支名x
    6. 5git branch
    7. 6git pull origin feature/syzl
    1. // 删除远程git仓库
    2. git remote rm origin
    3. // 再添加远程 Git 仓库
    4. git remote add origin git@github.com:FBing/java-code-generator

    git拉取时出现冲突:

    1. 冲突:Your local changes to the following files would be overwritten by merge
    2. 解决:
    3. git stash
    4. git pull
    5. git stash pop
    6. 命令解释:
    7. git stash:备份当前的工作去的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致,同事将当前的工作区内容报错到git栈中
    8. git pull:拉取git服务器上代码
    9. git stash pop:从git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复
    10. git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
    11. git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

    新建分支:

    1. git branch // 查看本地分支
    2. git branch -r // 查看远程分支
    3. git branch -b dev origin/dev // 切换分支
    4. git branch feature/dev // 创建分支(创建一个feature/dev分支)
    5. git branch dev // 创建分支(创建一个dev分支)
    6. git push
    7. // 如果无法提交
    8. git push --set-upstream origin feature/dev
    9. 然后就可以在远程仓库创建一个分支(feature/dev)
    10. git merge feature/split // 合并feature/split分支上的代码

    远程仓库效果如下图:
    image.png

    如果新增了公钥还是需要密码
    原因是在生成公钥的时候,自己输入了密码
    解决办法:
    覆盖原来的私钥,记住不要输入密码

    1. ssh-keygen -t rsa -C "979463796@qq.com"

    image.png

    1. cd ~/.ssh 进入.ssh
    2. 打开id_rsa.pub文件
    3. cat id_rsa.pub