Git生成密钥公钥,克隆项目,push,pull

git diff 可以查看已经添加到 index 中的文件在 workspace 中的变化,那么我们如何查看已经 commit 到本地仓库中的文件在 index 中的变化呢?

  • git diff --staged <file>:该命令可以满足上面的需求:

    这里写图片描述

我们的文件一般会提交到远程的 Gitee 或 GitHub 仓库中,为了方便我们可以在每次不输入密码的情况下 push,需要为远程的仓库生成公钥,为本地仓库生成密钥,这样才能在本地仓库与远程仓库之间通过无需输入密码的方式进行 push 和 pull。

生成密钥和公钥的命令如下:

  • ssh-keygen -t rsa -C "Gitee或GitHub上设置的邮箱地址"

    这里写图片描述
    出现让你输入的地方不用管,那是让你指定公钥和密钥的生成位置,使用默认的即可(C:/Users/dell/.ssh/),一路回车即可。

    出现如图所示的界面说明公钥和密钥生成成功,到公钥和密钥所在的文件夹中找到公钥文件:
    这里写图片描述

    打开 id_rsa.pub 文件,把里面的内容(公钥)复制出来,粘贴到 Gitee 或者 GitHub 设置 SSH 公钥的地方(以 Gitee 为例):

    这里写图片描述

    然后点击确定,输入你的 Gitee 密码,生成公钥如下:

    这里写图片描述

    OK,现在测试本地仓库与远程仓库之间的连通性:

  • ssh -T git@gitee.com:如果是 github 的话,后半部分替换成 github.com 即可。

    能够出现如下图所示的打招呼信息说明已经连通:

    这里写图片描述

这时候我们就可以把 gitee 上的项目克隆到本地了:

  • git clone <SSH克隆地址>

    这里写图片描述

然后我们在克隆下来的项目中修改文件,就可以直接 push 到 gitee 了:

  • git push:把本地仓库中的内容推送到远程仓库。

如果有这样的一种情况:本地已经初始化了一个仓库,并没有与远程仓库建立联系,想把本地仓库中的内容 merge 到远程仓库中,怎么做?

  1. git remote add origin <远程仓库的SSH地址>

    与远程仓库建立联系。

  2. git pull origin master --allow-unrelated-histories

    把远程仓库中的内容 pull 到本地工作目录。

    注:Git 从版本2.9.0开始,pull 不允许合并没有共同祖先的分支,而我的 Git 版本是 2.18.0,所以需要加上参数 --allow-unrelated-histories参数,允许合并没有共同祖先的分支。

  3. git push -u origin master

    在 pull 下来的项目中做修改,然后就可以通过以上命令 push 到远程仓库了。

还有一个需要慎用的命令:git push -f,把本地仓库中的内容强推到远程仓库,这个命令会覆盖掉远程仓库中原有的所有内容,远程仓库中没有内容还好,有内容的话就得考虑清楚,建议个人的项目可以这么做。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值