许多Git服务器都使用SSH公钥进行认证。默认情况下,用户的公钥存在 ~/.ssh(C:\Users\zhanglong.ssh),
如果是新电脑 :
1、打开git
git config --global user.name "yourname"
git config --global user.email "your@email.com"
zhanglong@weipaitang.com
2、删除.ssh文件夹(直接搜索该文件夹)下的known_hosts(手动删除即可,不需要git)
3、git输入命令
$ ssh-keygen -t rsa -C "your@email.com"
接着出现:
Generating public/private rsa key pair.
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,找到设置,
重新创建一个key
添加key
就可以了。
git常用命令:
git fetch origin develop:develop 本地创建dev分支
git checkout develop 本地切换dev分支
git pull origin feature/syzl 拉取分支代码
拉取git远程分支到本地
1、git clone
2、cd 到项目目录下
3、git fetch origin develop:develop
4、git checkout -b 本地分支名x origin/远程分支名x
5、git branch
6、git pull origin feature/syzl
// 删除远程git仓库
git remote rm origin
// 再添加远程 Git 仓库
git remote add origin git@github.com:FBing/java-code-generator
git拉取时出现冲突:
冲突:Your local changes to the following files would be overwritten by merge
解决:
git stash
git pull
git stash pop
命令解释:
git stash:备份当前的工作去的内容,从最近的一次提交中读取相关内容,让工作区保证和上次提交的内容一致,同事将当前的工作区内容报错到git栈中
git pull:拉取git服务器上代码
git stash pop:从git栈中读取最近一次保存的内容,恢复工作区的相关内容。由于可能存在多个Stash的内容,所以用栈来管理,pop会从最近的一个stash中读取内容并恢复
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。
新建分支:
git branch // 查看本地分支
git branch -r // 查看远程分支
git branch -b dev origin/dev // 切换分支
git branch feature/dev // 创建分支(创建一个feature/dev分支)
git branch dev // 创建分支(创建一个dev分支)
git push
// 如果无法提交
git push --set-upstream origin feature/dev
然后就可以在远程仓库创建一个分支(feature/dev)
git merge feature/split // 合并feature/split分支上的代码
远程仓库效果如下图:
如果新增了公钥还是需要密码
原因是在生成公钥的时候,自己输入了密码
解决办法:
覆盖原来的私钥,记住不要输入密码
ssh-keygen -t rsa -C "979463796@qq.com"
cd ~/.ssh 进入.ssh
打开id_rsa.pub文件
cat id_rsa.pub