【git日志】github提交文件到远程仓库|git代理|各种问题持续更新

github这东西没有系统学过,每次用到一个功能就要翻个好几篇博客,而且老是出现各种各样的错误,这篇主要用于记录我在git上碰到的各种问题,造福自己造福大家!

git代理

为了加速有时候会挂代理,有时候又会因为下载问题需要取消。。。

// 查看当前代理设置
git config --global http.proxy
git config --global https.proxy
 
// 设置当前代理为 http://127.0.0.1:1080 或 socket5://127.0.0.1:1080
git config --global http.proxy 'http://127.0.0.1:1080'
git config --global https.proxy 'http://127.0.0.1:1080'
 
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
 
// 删除 proxy
git config --global --unset http.proxy
git config --global --unset https.proxy

提交本地文件到远程仓库

假设未git clone下仓库

git init  	// 执行指令进行初始化,会在原始文件夹中生成一个隐藏的文件夹.git

git add .   //添加当前文件夹下的所有文件

git commit -m "first commit"  //引号中的内容为对该文件的描述

git remote add origin https://github.com/xxxxx //新建一个repository时会出现下面的代码,直接复制即可

git push origin master //提交

远程repository和本地的repository冲突

常见于新建仓库时建了Readme.md,本地却没有这个文件。
报错如下:

$ git push -u origin master
To git@github.com:******/Demo.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:******/Demo.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Merge the remote changes (e.g. 'git pull')
hint: before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

解决方法:
1.使用强制push的方法:

git push -u origin master -f 

注意:这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。

但是如果是自己使用的仓库确认可以覆盖或者第一次上传就采取本方法最好,简单省事。

2.push前先将远程repository修改pull下来

git pull origin master

git push -u origin master

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

git branch [name]

然后push

git push -u origin [name]

避免每次push输入帐号密码

git config --global credential.helper store

引入他人git仓库,需要上传修改

引用自http://jartto.wang/2017/12/28/cannot-nest-git-repository/
首先,进入子仓库,也就是被嵌套的 Git 仓库,删除 .git 目录:

rm -rf .git

可以这么理解,一个项目不应该有俩 Git 地址,所以断开子仓库的原有联系,也就是删除 .git 目录。

然后,将你添加的项目拖出当前项目文件,进行提交。之后,再将项目拖回来,返回项目根目录,执行 add 操作:

git add 引用的仓库名字

再次提交

git 分支管理

查看远程分支

$ git branch -a
* dev
  master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev
  remotes/origin/master

带星号的表示当前本地分支,查看本地分支使用

$ git branch
* dev
  master

切换分支:

$ git checkout dev
Switched to a new branch 'dev'
Branch 'dev' set up to track remote branch 'dev' from 'origin'.

提交时选定对应的本地分支提交

$ git push origin dev
Enumerating objects: 6, done.
Counting objects: 100% (6/6), done.
Delta compression using up to 8 threads
Compressing objects: 100% (3/3), done.
Writing objects: 100% (5/5), 2.31 KiB | 2.31 MiB/s, done.
Total 5 (delta 0), reused 0 (delta 0), pack-reused 0
To http://gitlab.alibaba-inc.com/ytz/daas-clients.git
   7060b62..6677be6  dev -> dev
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值