git下载,上传,更新,及遇到问题解决

 

目录

上传

更新本地代码

git 问题


上传

 由于本地Git仓库和Github仓库之间的传输是通过SSH加密的,所以连接时需要设置一下。先看一下你C盘用户目录下有没有.ssh目录,有的话就跳到下一步,没的话请跳转到此处设置

设置成功后,后续不需要再做连接设置便可与远程仓库进行传输操作。

git init //初始化本地仓库,文件夹中会出现.git管理文件
git remote add origin https://gitee.com/你的码云用户名/XXXX     本地仓库与远程仓库建立联系  
git pull origin master //将远程仓库pull到本地
git add .  //将要上传的文件,添加到刚刚创建的本地仓库(. 表示所有的)或者 git add + 文件名
git commit -m '新添加的文件内容描述'  //更新修改内容的描述
git push//【不带任何参数的git push,默认只推送当前分支,这叫做simple方式】 

       git push origin【将当前分支推送到origin主机的对应分支】   
       git push origin master
       git push -u origin master【将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了】

 

上传到指定分支

1.切换到指定分支

git checkout dev(要上传的本地分支名,一般与远程关联分支名相同)

2.推送到远程分支

git push -u origin dev(要上传的分支名)


更新本地代码


本地代码push后未修改
    git pull 【只有master分支,如果push后修改过本地代码直接pull会产生冲突】
本地代码有修改
只有master分支【直接覆盖本地代码】
 

    //重置索引和工作目录
    git reset ==hard
    //更新代码
    git pull


多分支

    //切换到远程内容有更新的分支,假设主分支master有内容更新
    git checkout master
    //拉取master内容到本地
    git pull
    //切换到自己分支【name】
    git checkout name
    //把master分支合并到自己分支
    git merger master

“master”只是git init默认创建的分支名,“origin”与“master”一样,执行git clone时默认的远程仓库名,没有具体意义
运行 git clone -o myorigin,那么你默认的远程分支名字将会是 myorigin/master

更新分支基本分为两类:合并远程分支到本地,合并本地分支到远程分支,详细解释,请跳转到此

git 问题


操作:git push
报错:The current branch master has no upstream branch.
产生原因:远程仓库太多,且分支较多。默认情况下,git push时一般会上传到origin下的master分支上,然而当repository和branch过多,而又没有设置关联时,git就会产生疑问,因为它无法判断你的push目标。
解决:将本地分支与远程仓库分支关联
解决1:    

git branch --set-upstream-to=origin/master


解决2:    

git push --set-upstream origin master

拓展:    git push --set-upstream origin branch_name来在远程创建一个与本地branch_name同名的分支并跟踪
               git checkout --track origin/branch_name来在本地创建一个与branch_name同名分支跟踪远程分支。


报错:Updates were rejected because the tip of your current branch is behind
解决1:使用允许无关联的历史记录的参数拉取之后再 push

    git pull origin master --allow-unrelated-histories
    git push


解决2:push前先将远程repository修改pull下来

    git pull origin master
    git push -u origin master

-u ,上面第二行的命令将本地的master分支推送到origin主机,同时指定origin为默认主机,后面就可以不加任何参数使用git push了。


解决3:若不想merge远程和本地修改,可以先创建新的分支

    git branch [name]
    git push -u origin [name]


解决4:强制push,使远程修改丢失,一般不可取,尤其多人协作时

    git push -u origin master -f

中途产生问题
操作:git pull
报错:refusing to merge unrelated histories
原因:两端在做不同的提交
解决:使用允许无关联的历史记录的参数拉取

    git pull --allow-unrelated-histories

操作:git pull
报错:There is no tracking information for the curren branch
原因:本地分支没有与远程分支关联。关联的目的是在执行git pull,git push 操作时不需要指定对应的远程分支。没有指定
解决:关联远端分支
    git branch -vv   查看本地分支和远程分支的关联关系
解决1:直接指定远程master

   git pull origin master

解决2:先指定本地master【分支】到远程master,然后再pull

    git branch --set-upstream-to=origin/master[远程分支名字] [本地分支名字]
    git pull

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值