git学习

git上传项目:

转载记一次github上传文件夹(项目)的历程和踩坑 - 探歌 - 博客园 (cnblogs.com)

1.上传文件

输入命令: git init

输入命令(有个空格):git add .     //添加所有文件到缓存区

输入命令:git commit -m "你的说明注释"

输入命令:git remote add origin "刚才复制的git账户的仓库http地址"

输入命令:git push -u origin master

*push 不上去就把remote换成SSH链接,push时本地分支要和远程分支同名并建立联系

git checkout -b 本地分支 origin/远程分支

2.下载

git clone 链接

3.分支操作

git branch  //获取分支

创建分支:git branch name

git branch -d 分支名   //删除本地分支

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

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

4.命令

ls //查看文件

ls -a   //查看所有文件

git ls-files  //查看暂存区文件

rm -r .git/index   //清空暂存区

rm -rf .git/   //删除 .git/

rm 文件名   //删除文件 会同时删除缓存区+工作区文件!!

rm -r 文件夹名   //删除文件夹  会同时删除缓存区+工作区文件!!

git rm -cached 文件名    //只删除缓存区文件

git rm -r -cached 文件夹名    //只删除缓存区文件夹

VScode:链接远端库 SSH链接

 

  • 配置提交人姓名:

    git config --global user.name 提交人姓名
    
    • 1
  • 配置提交人邮箱:

    git config --global user.email 提交人邮箱
    
    • 1
  • 查看git配置信息:

    git config --list

生成ssh

ssh-keygen -t rsa -C "qq.com"

直接三次回车就会看到ssh目录下多了两份新的文件(第一次回车是确认把ssh保存在哪个目录)

4、把ssh添加到git设置里

  • 在git中clone项目有两种方式:HTTPS和SSH,它们的区别如下:
  • HTTPS:不管是谁,拿到url随便clone,但是在push的时候需要验证用户名和密码;
  • SSH:clone的项目你必须是拥有者或者管理员,而且需要在clone前添加SSH Key。SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。

问题解决

SSH拉取失败选择HTTP!

git clone --recursive    保证所有文件都clone包括子模块文件

使用Git pull文件时,出现"error: RPC failed; curl 18 transfer closed with outstanding read data remaining"

error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

出现以上错误有以下原因

1.缓存区溢出curl的postBuffer的默认值太小,需要增加缓存

使用git命令增大缓存(单位是b,524288000B也就500M左右)

git config --global http.postBuffer 524288000

使用git config --list查看是否生效

此时重新克隆即可

2.网络下载速度缓慢

修改下载速度

git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999

3.以上两种方式依旧无法clone下,尝试以浅层clone,然后更新远程库到本地

git clone --depth=1 http://xxx.git
git fetch --unshallow

git bash中出现>符号:按control+D退出

! [rejected] master -> master (fetch first) push代码报错:

温柔型方案:
通过git pull 先将本地库更新到与远程库一致的版本,但要注意本地库后来做的修改可能被覆盖,最好使用git fetch(不会自动合并),查看更新情况再有选择合并,或者先将本地库修改过的文件备份,git pull后再重新修改;
再运行git push即可成功。
暴力型方案:
git提供了一种强制上传的方式:git push -f ,它会忽略版本不一致等问题,强制将本地库上传的远程库,但是一定要谨慎使用,因为-f会用本地库覆盖掉远程库,如果远程库上有重要更新,或者有其他同伴做的修改,也都会被覆盖,所以一定要在确定无严重后果的前提下使用此操作。

解决网络问题:

手动配置git的代理。git客户端输入如下两个命令就可以了。

git config --global http.proxy http://127.0.0.1:1080

git config --global https.proxy http://127.0.0.1:1080

http://也可以改成sockets5://,但是区别在于:socks5不支持通过pubkey免密登录github,每次提交代码只能输入用户名和密码。http可以支持免密登录。

再取消代理:

git config --global --unset http.proxy 

git config --global --unset https.proxy 

----

最近使用git pull的时候多次碰见下面的情况:

There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

git pull <remote> <branch>

If you wish to set tracking information for this branch you can do so with:

git branch --set-upstream-to=origin/<branch> release

其实,输出的提示信息说的还是比较明白的。

使用git在本地新建一个分支后,需要做远程分支关联。如果没有关联,git会在下面的操作中提示你显示的添加关联。

关联目的是在执行git pull, git push操作时就不需要指定对应的远程分支,你只要没有显示指定,git pull的时候,就会提示你

解决方法就是按照提示添加一下呗:

git branch --set-upstream-to=origin/remote_branch  your_branch

其中,origin/remote_branch是你本地分支对应的远程分支;your_branch是你当前的本地分支

保姆级教程:

​​​​​​​Git教程 - 廖雪峰的官方网站

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值