Git学习总结(五)

GitHub配置私钥

首先需要在GitHub上面新建一个账户,如果已经有了,就不用建立了。然后配置私钥,使用以下命令。

ssh-keygen -t rsa -b 4096 -C "xxxxx@qq.com"       #生成公司钥

然后将生成的id_rsa.pub文件中的内容拷贝到SSH Keys上即可。

把本地仓库同步到GitHub

在同步之前呢,肯定要先在GitHub上建立一个仓库,至于怎么建立仓库,这个是很简单的,这里就不记录了。
然后最重要的步骤到了,那就是将本地仓库同步到远程仓库。同步的命令大致就是下面这些。

#test是给仓库取得名称
git remote -v       # 查看远程版本库信息
git remote add test <url>       # 添加test远程版本库
git fetch test          # 拉取远程版本库
git pull        # 从远端拉取分支,将远端的master和本地的master做一个merge行为。
git branch -v           # 查看本地的分支
git branche -av         # 查看本地和远端的分支
git merge test/master
git merge --allow-unrelated-histories test/master         # 合并test上的master分支(两分支不是父子关系,所以合并需要添加 --allow-unrelated-histories)
git push test master      # 将本地的分支推送到远端
git push test --all         # push所有

1.首先使用git remote -v查看是否有远程版本库信息。
2.然后添加远程仓库的地址。
3.接着就是,拉取远程版本库。
4.查看本地和远端的分支

5.将远端的master分支和本地的master分支合并
6.合并的时候可能会遇到下面这个错误

fatal: refusing to merge unrelated histories

出现这个问题的最主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库。假如我之前是直接clone的方式在本地建立起远程github仓库的克隆本地仓库就不会有这问题了。

所以在合并的时候,需要加–allow-unrelated-histories
7.最后再把本地的分支推送到远端。

基本上就是这个流程,也许在与远程仓库连接时会出现很多问题,只要根据git的提示解决就可以了。

PS:本地同步到远程会遇到很多问题。遇到问题就慢慢解决就行了。

基本上git的学习就完了。剩下的就是在平时开发中训练了。

疑难问题

一、fast-forword?

看了英语翻译为快进,结合git branch -av 中的ahead和behind,ahead是本地仓库比远端仓库多commit,behind是本地仓库比远端仓库少commit。
对正常的备份系统来说,我本地只能比备份多,备份不可能比我本地多才是。然而,git由于多用户提交原因出现备份比本地多了,本地滞后了。
所以需要pull一下,让本地比备份相等或多,这种情况就是fast forward ,也就是我本地要比备份快进。

二、文件冲突了怎么办?

先使用git pull命令,将远端的分支拉取下来。然后查看冲突的地方,和同事讨论是否需要修改,或者合并。最后再commit。

三、集成分支执行push -f操作?

这个操作是禁止的,因为使用push -f这个操作。。强制推送。有可能造成大量的commit丢失。

一粒粒糯米,粘稠着我的思念;一颗颗红枣,点缀着日子的红艳;一片片粽叶,贴上了幸福的标签;一圈圈丝线,缠绕着美好心愿;一个个粽子,包裹着幸福万千;一口口品尝着,生活的香甜。
各位猿友,端午安康。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值