Git工作/面试必知必会操作-命令行篇(三)-阿里云开发者社区

开发者社区> javaedge> 正文

Git工作/面试必知必会操作-命令行篇(三)

简介: Git工作/面试必知必会操作-命令行篇(三)
+关注继续查看

2.3 远程仓库

创建SSH Key

$ ssh-keygen -t rsa -C "youremail@example.com"

关联远程仓库

$ git remote add origin https://github.com/username/repositoryname.git

推送到远程仓库

$ git push -u origin master


-u 表示第一次推送master分支的所有内容,此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改。

遇到的坑


fatal: The upstream branch of your current branch does not match
the name of your current branch.  To push to the upstream branch
on the remote, use

    git push origin HEAD:release/10.0

To push to the branch of the same name on the remote, use

    git push origin HEAD

与本地建立联系的是远程的 release 分支,因此git 报错会提示应该这么把代码推到远程的特定分支

git push origin  HEAD:release/10.0

从远程克隆

在使用git来进行版本控制时,为了得一个项目的拷贝(copy),我们需要知道这个项目仓库的地址(Git URL).

Git能在许多协议下使用,所以Git URL可能以ssh://, http(s)😕/, git://,或是只是以一个用户名(git 会认为这是一个ssh 地址)为前辍.


有些仓库可以通过不只一种协议来访问

例如,Git本身的源代码你既可以用 git:// 协议来访问:

git clone git://git.kernel.org/pub/scm/git/git.git

也可以通过http 协议来访问:

git clone http://www.kernel.org/pub/scm/git/git.git

git://协议较为快速和有效,但是有时必须使用http协议,比如你公司的防火墙阻止了你的非http访问请求.如果你执行了上面两行命令中的任意一个,你会看到一个新目录: ‘git’,它包含有所的Git源代码和历史记录.

在默认情况下,Git会把"Git URL"里最后一级目录名的’.git’的后辍去掉,做为新克隆(clone)项目的目录名: (例如. git clone http://git.kernel.org/linux/kernel/git/torvalds/linux-2.6.git 会建立一个目录叫’linux-2.6’)

另外,如果访问一个Git URL需要用法名和密码,可以在Git URL前加上用户名,并在它们之间加上@符合以表示分割,然后执行git clone命令,git会提示你输入密码。

示例

git clone v_shishusheng@http://www.kernel.org/pub/scm/git/git.git

这样将以作为v_shishusheng用户名访问http://www.kernel.org/pub/scm/git/git.git,然后按回车键执行git clone命令,git会提示你输入密码。

另外,我们可以通过-b 来指定要克隆的分支名,比如

$ git clone -b master2 …/server .

表示克隆名为master2的这个分支,如果省略-b 表示克隆master分支。

$ git clone https://github.com/usern/repositoryname.git

删除远程仓库文件

可能某些不需要的目录上传到远程仓库去了,下面开始操作

  • 预览将要删除的文件
git rm -r -n --cached 文件/文件夹名称

image.png

加上 -n 参数,执行命令时,不会删除任何文件,而是展示此命令要删除的文件列表预览

  • 确认后删除
git rm -r --cached 文件/文件夹名称

image.png

  • 提交到本地并推送到远程服务器
git commit -m "提交说明"

image.png

git push origin master

image.png


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
集中工作流命令行工具git-repo
git-repo 是一个用于集中工作流的命令行工具,可以与 Gerrit、AGit-Flow 兼容的服务器一起使用。它是用 Golang 编写的,无需进一步依赖即可轻松安装。它为多个存储库提供了一个易于使用的解决方案,首先由 Android repo 引入,它也可以与单个存储库一起使用。
488 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
8404 0
【转】Secedit:命令行下操作组策略找工具
http://www.31896.net/thread-7534-1-1.html 组策略是建立Windows安全环境的重要手段,尤其是在Windows域环境下。一个出色的系统管理员,应该能熟练地掌握并应用组策略。
1090 0
+关注
javaedge
关注公众号:JavaEdge,后台回复面试,领取更多大厂求职资源。曾在百度、携程、华为等大厂搬砖,专注Java生态各种中间件原理、框架源码、微服务、中台等架构设计及落地实战,只生产硬核干货!
2317
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载