ssh\-keygen \-t rsa \-C ["yourEmail@xxx.com"]
// 出现下行,直接按Enter,
Enter file in which to save the key (/root/.ssh/id\_rsa):
// 第一次输入公钥密码(推荐不用输入,直接回车,以便在clone、pull、push等不用输入公钥密码)
Enter passphrase (empty for no passphrase):
// 再次输入公钥密码
Enter same passphrase again:
cd /root/.ssh
cat id_rsa.pub
如腾讯工蜂里,将复制的密钥添加进去
这里就不再使用”https”了,使用SSH
clone项目下来
git clone git@git.code.tencent.com:xxxx/project.git
到此,完成。
后面使用git push,git pull 就不用再输入密码了
clone
时输入密码无效把专用密钥(private and public keys)添加到 ssh-agent 的高速缓存中
ssh-add ~/.ssh/id_rsa
ssh-add -d ~/.ssh/id_rsa.pub
如果执行ssh-add时提示”Could not open a connection to your authentication agent”,可以现执行命令:
ssh-agent bash
生成的时候 ,保存一个名称 ,如 ssh_test
ssh\-keygen \-t rsa \-C ["yourEmail@xxx.com"]
// 出现下行,输入ssh_test
Enter file in which to save the key (/root/.ssh/id\_rsa):
// 第一次输入公钥密码(推荐不用输入,直接回车,以便在clone、pull、push等不用输入公钥密码)
Enter passphrase (empty for no passphrase):
// 再次输入公钥密码
Enter same passphrase again:
执行上面代码 ,会在~/.ssh/目录生成一个 ssh_test.pub
和ssh_test
文件,这时候~/.ssh/
目录下还有一个id_rsa
和id_rsa.pub
文件
默认系统只会查找 id_rsa
和id_rsa.pub
文件
要想ssh_test.pub
和ssh_test
文件生效,必须在~/.ssh/
创建一个配置文件
配置文件名称为config
,没有后缀,名称就叫config
,内容如下
# tencent
Host git.code.tencent.com
HostName git.code.tencent.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa
# ssh_test,可以是IP
Host 10.90.30.102
HostName 10.90.30.102
PreferredAuthentications publickey
IdentityFile ~/.ssh/ssh_test
Unable to negotiate with 106.52.160.162 port 22: no matching host key type found. Their offer: ssh-rsa fatal: Could not read from remote repository.
使用git hooks(post-receive)实现简单的远程自动部署
linux下,设置git免密码操作
**git cherry-pick**可以选择某一个分支中的一个或几个commit(s)来进行操作。例如,假设我们有个稳定版本的分支,叫v2.0,另外还有个开发版本的分支v3.0,我们不能直接把两个分支合并,这样会导致稳定版本混乱,但是又想增加一个v3.0中的功能到v2.0中,这里就可以使用cherry-pick了,其实也就是对已经存在的commit 进行再次提交.
在使用Git的过程中,有时候会因为一些误操作,比如reset、rebase、merge等。特别是在Commit之后又执行了`git reset --hard HEAD`强制回滚本地记录以及文件到服务器版本,导致本地做的修改全部恢复到Git当前分支的服务器版本,同时自己的Commmit记录也消失了。碰到这种情况,不要慌,我们在Git上做的任何操作都只是在原来之前的操作上做修改,并且会被记录下来保存,也就是说无论你做了什么,对于Git来说都可以进行回滚操作。
它的原理很简单,就是将代码提交的历史,按照两分法不断缩小定位。所谓"两分法",就是将代码历史一分为二,确定问题出在前半部分,还是后半部分,不断执行这个过程,直到范围缩小到某一次代码提交。
当在git操作log,如`git log`后,然后非正常退出,即使用`CTRL+C`退出,这个时候git输入命令就不会显示了,只有光标,这时怎么办?
.gitignore文件配置不生效
git修改当前项目用户
Git修改最近一次已经提交了的commit及push
git常用命令,git查看某个文件的修改记录,分支备注
通过设置git-diff driver,结合.gitattributes文件,使git diff命令忽略某些目录。例如我们只希望看到比较src目录,不希望看到比较dist目录
学习这本书的目的是让你了解版本控制,并且尽可能快速简单的掌握 Git。但是和另外一些关于介绍版本控制的图书不一样,阅读这本书并不需要你有很专业的 IT 或者电脑背景知识,它也面向那些编程的初学者,软件构架师,或者是项目经理。在技术方面你也不需要有很多专业知识,我们会以循序渐进的方式帮助你来理解版本控制和掌握 Git。
git如何打包增量文件?
github push时免密码