git连接远程github如何设置免密提交

因为公司目前的代码管理工具逐渐转向了git,我也学着使用起来,但是只会基本使用,并没有系统学习,感觉对其原理还是不是很懂。所以趁假期期间系统的学习一下git。这不,今天遇到遇到一个问题,我在本地连接远程github,push的时候总是要求我输入用户名和密码。主要是如果提交的频率比较高的话这样实在是太痛苦了。于是我在网上找到一种方法将原来的https的连接方式更改成为ssh连接,这样就可以使用免密提交。具体操作如下。

1.在本地找一个文件夹右键点击git bash here。

然后进入gitbash

2.访问github:https://github.com/

新建仓库:

会看到一些提示:

传输方式选择ssh。然后根据提示命令进行操作即可。

然后需要此时生产ssh 公钥与私钥。私钥留在本地,公钥放在github上。

输入  ssh-keygen 命令一路回车即可。

此时去本地路径C:\Users\zhang\.ssh可以看到一对秘钥。

回到github上开始设置。可以仅对于本项目设置公钥,则在本项目的setting设置。也可以对自己账户的所有项目进行设置,这样本账号名下的所有项目都可以免密了。

先说设置本项目:

将id_rsa.pub的内容粘贴进去,注意删掉回车,注意权限设置即可。

继续敲命令:git push -u origin master(意思是:将本地变化提交到远程的master分支)

至此已经设置完毕。下次直接push即可,便可以免密提交了。

结束。。。。

番外篇:

git init:将当前所在目录设置为git管理。会在当前目录中生成一个隐藏文件夹.git  里面可以设置当前git的一些设置,主要是config文件里面的内容需要我们注意。比如:

解释:

git branch:展示git的分支

git branch -a :展示git的所有分支,包含远程。

git checkout branchName:git切换分支

git status :查看git的当前状态

git add .  :将当前所有修改从工作区提交到暂存区

git add 单个文件名:将某个文件从工作区提交到暂存区

git commit -m '提交注释':将暂存区的修改提交到对象区

git push:将对象区的修改提交到远程

git branch -d 分支名称:删除本地分支(未合并的分支不可以删除,不可以删除当前分支)

git branch -D 分支名称:强制删除本地分支

git push origin --delete 分支名称:删除远程分支

git log:查看git日志

git log --graph:图形化查看git日志

git reflog:查看git节点操作记录

git用sha1算法的字符串记录log

设置当前用户:

git config --global (基本不用,给整个计算机一次性设置)

git config --system (推荐,给当前用户一次性设置)

git config --global(给当前项目一次性设置)

设置用户名和邮箱:

例如:

git config --system user.name 'zhansan'

git config --system user.email '[email protected]'

git rm 文件名称:删除已经提交的文件。文件回退到暂存区。

git commit --amend -m '修正注释' :注释重写(重写最近一次的提交说明)

新增 .gitignore文件可以设置git提交的时候忽略这些文件,可以使用正则表达式。

git merge 分支名称:将某一分支的内容合并到当前分支

git branch -m master master2:分支重命名

git stash:git保存现场

1.在功能没有开发完之前,不可以commit。但是现在需要到另一个分支修改一个bug,就需要切换分支,但是没有commit之前是不可以切换分支的。这就需要用到git stash来保留现场了。

git stash list:查看暂存历史列表,用于查看现场。

git stash pop:回到最近一次的暂存历史,用于还原现场。(还原到最近一次)

git stash apply:还原内容,不删除原来保存 的内容。(可以还原到任意一次根据stash@{0})

git stash drop stash@{0}:手动删除现场

 git tag 标签名:给当前状态打一个标签。

git tag:查看所有标签,不局限与单一分支。

git tag -d 标签名:删除标签

git tag -a 标签名 -m '注释'

git blame 文件名称:问责。查看该文件每一行的提交作者。

git diff:比较暂存区和工作区的差异

git diff commit:比较对象区与工作区的差异

git diff --cached HEAD(或者某一个sha1值):比较对象区与暂存区的差异

发布了203 篇原创文章 · 获赞 136 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/u012045045/article/details/104166554