zoukankan      html  css  js  c++  java
  • git学习笔记(1)如何将clone到本地代码上传到自己的git项目

    如何实现将别人的git https拷贝到自己git项目上?

      gitee码云网页会限制每天上传20个文件,导致直接通过拖文件夹比较非常不方便

      1.首先将git https的url 拷贝下来,在pycharm中拉下来 

      2.打开拉下来的文件夹,删除  .git文件夹

      3.在git bash客户端CMD命令窗口执行init操作,代码如下

    1 cd existing_folder   #进入你需要上传的文件夹根目录
    2 git init
    3 git remote add origin 
    4 git@gitee.com:xxxxx         #码云上创建仓库的ssh地址,不可以是https地址
    5 git add .
    6 git commit -m "Initial commit"
    7 git push -u origin master

      解决错误:

      1.如何没有在git的hosts文件中设置gitee域名,在执行git push -u origin master这步会报错,就会报如下错误

      报错原因:在xx/Git/etc/hosts文件中没有添加gitee域名,在hosts中添加212.64.62.174 gitee.com,如果是github 则添加192.168.1.117 github.com

      2.如果没有设置gitee的ssh公钥 在执行在执行git push -u origin master这步会报错,就会报如下错误

      git@gitee.com: Permission denied (publickey). fatal: Could not read from remote repository.

      报错原因:在码云中没有配置SSH公钥

      那么我们就需要生成和添加SSH公钥

      官方文档:https://gitee.com/help/articles/4181#article-header0  (这个比较清晰)

      帮助文档还有这个:http://git.mydoc.io/?t=154712

      码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。

      你可以按如下命令来生成 sshkey:

    ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
    # Generating public/private rsa key pair...
    
    
    注意:这里的 xxxxx@xxxxx.com 只是生成的 sshkey 的名称,并不约束或要求具体命名为某个邮箱。
    现网的大部分教程均讲解的使用邮箱生成,其一开始的初衷仅仅是为了便于辨识所以使用了邮箱。

    按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key

    cat ~/.ssh/id_rsa.pub
    # ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

    复制生成后的 ssh key,去码云的个人设置中  配置SSH公钥

      添加后,在终端(Terminal)中输入

    ssh -T git@gitee.com

    如果返回如下就表示SSH公钥添加成功:

    Welcome to Gitee.com, yourname!

      再次执行git push又出现了如下报错:

    error: failed to push some refs to

    此时百度了网上解决办法,转载自   https://www.jianshu.com/p/c6f2e1ca2999

    分支名不完整

    emmm,这个错误大概是最难发现的了,不是说难度系数高,而是大家都把以本地master与远程master为例去写答案,于是大家会下意识忽略掉本地分支与远程分支名不一样的情况。(也可能这个大家只包含了我....)

    git推送的完整写法如下:

      git push @remoteName  @localBranch:@remoteBranch
    
      // eg.remoteName:origin  localBranch:ceshi  remoteBranch:test
      git push origin ceshi:test

    但是如果本地分支与远程分支名字一样的话,是可以简写的。例如本地和远程的分支名都是master:

      git push origin master

    没有提交代码

    可以用 git status查看是否忘了把代码提交上去了。若是忘了,提交了就行。

      git add .
      git commit -m "This is a new commit"
      git push origin master

    本地与远程产生冲突

    或是有其他协作者提交了代码,或是你之前在远程上直接做了处理。这部分有两个处理方法,一是直接强覆盖,二是先把远程的变化拉取下来,解决冲突后,再一并提交。

    1.强覆盖

      git push -f origin master

    2.拉取再提交

      git pull –-rebase origin maste
      git push origin master
    当然本人是建议能第二种就第二种,暴力美学越少见越好。
    --rebase到底是干嘛用的,为什么要加他?不知道是什么意思的时候,用起来也忐忑。所以又特意去了解了一下这个配置的作用。这部分有个博主写的详细又直观:https://blog.csdn.net/MBuger/article/details/70197532

     
    以上就是本人解决的所有报错了 
    坚持做笔记,会让自己收获更多.........
  • 相关阅读:
    超多sql分步骤类型题解
    sql 高级函数
    sql 每天下单的老客数量
    sql
    面试-JAVA常见回答
    查询员工的累计薪水
    背包问题模板
    动态规划理解合集
    SQL语句统计每天、每月、每年的 数据
    机考刷机-树相关
  • 原文地址:https://www.cnblogs.com/bugoobird/p/13395617.html
Copyright © 2011-2022 走看看