git本地删除后如何再pull下来_git远程库(github)

git

各种协议区别

将git仓库备份到本地
哑协议传输进度不可见,智能协议传输进度可见
智能协议比哑协议传输速度更快
本地协议:
* /path//to/repo.git -> 哑协议
* file:///path/to/repo.git -> 智能协议
http/https协议 -> 平时接触到的都是智能协议
ssh协议 ->工作中最常用的智能协议

开源协议

简略,有图:https://www.jianshu.com/p/388e856f82ef
详细:https://www.cnblogs.com/Wayou/p/how_to_choose_a_license.html

远程库地址别名查看创建修改删除

git remote -v
查看当前所有远程地址别名

git remote show [远程地址别名]
查看指定的远程库信息

git remote add [远程地址别名] [远程地址]
创建远程库地址别名。例如:
git remote add datastructure http://ashdahsdhahsd.asdahd.git

git remote rename [原名] [新名]
修改远程库地址别名
* 分支名也会同步修改:由“原名/master”变成了“新名/master”

git remote remove [远程地址别名]
删除指定的别名

git remote prune [远程地址别名]
本地有很多其实早就被删除的远程分支,可以用 git remote prune origin 全部清除掉,这样再 checkout 别的分支时就清晰多了

git remote rm [远程库地址别名]
删除对应的远程库(慎用)
碰到远端仓库服务器迁移,或者原来的克隆镜像不再使用,又或者某个参与者不再贡献代码,那么需要移除对应的远端仓库

SSH登录 --遇到的问题

1_进入当前用户的家目录
cd ~

2_删除.ssh目录
rm -rvf .ssh

3_运行命令生成.ssh密钥目录(注意参数C大写)
ssh-keygen -t rsa -C yusli@yusli.com

4_进入.ssh目录查看文件列表
cd .ssh
ls -lf

5_查看id_rsa.pub文件内容
cat id_rsa.pub

6_复制id_rsa.pub文件内容,登录Github,点击用户头像 -> Settings -> SSH and GPG keys

7_New SSH Key

8_输入复制的密钥信息

9_回到Git bash创建远程地址别名
git remote add [别名] [项目的SSH地址]
例如:
git remote add datastructure_ssh git@github.com:xiangmumingcheng/cangku.git

10_推送文件进行测试

除了上面的方法,还可以这样:(两条命令)

配置ssh公私钥
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
pbcopy < ~/.ssh/id_rsa.pub

推送(push)

->撤销远程push、远程commit、删除远程分支的方法

-> 解决git push很慢的问题

git push -u [远程地址别名] [分支名]
推送master,并且建立与远程库中master的track
* 在第一次push的时候使用这个。第一次push时,远端没有对应本地的分支,因此需要建立track
* 以后就不用加 -u 了
建立track的好处:
1_ git status的时候可以显示领先/落后的多少个commit。
2_ git push的时候可以省略后两个参数。
3_ git pull的时候可以省略后两个参数。

git push [别名] [分支名]
上传代码及快速合并。当以前执行过上面那条的时候,就直接执行这条即可
例如:
git push datastructure master

git push --tags
上传所有标签

git push [别名] :[分支名/标签名]
删除远程分支或标签
* 注意冒号

克隆(clone)

git origin [远程地址]
效果:
完整的把远程库下载到本地
创建origin远程地址别名
初始化本地库

更新(fetch)

git fetch [远程地址别名] [远程库分支]
从远程库中更新commit
例如:git fetch origin master

git fetch [远程地址别名] —prune 
和远程仓库同步

拉取(pull)

pull = fetch + merge

git pull [远程地址别名][远程分支名]
下载代码与快速合并

解决远程库冲突

-> git rejected

1_如果不是基于GitHub远程库的最新版所作的修改,不能推送,必须先拉取

2_如果拉取下来之后进入冲突状态,按照“分支的解决冲突”操作进行

3_或者使用强行推送
git push -f [远程地址别名] [分支名]

跨团队协作(fork)

在GitHub里操作:

4b6bc7265ad4e2ee12ed4fa1e594f4b4.png

本地修改后推送到远程

9b9660f8172933e11207b35bdccf5ae3.png

审核与合并代码,全部在Github里操作。因此省略。

团队成员邀请

在github里操作:

99ea8bd2c1adb4e7ace8782b6ff85de2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值