Ubuntu Terminal命令行新建仓库并推送到远程仓库
通常情况下,在本地新建一个仓库之后,需要在远端网页端也新建一个空的同名仓库,然后将两者进行关联才能推送。
那有没有办法直接在命令行就完成从新建到推送的过程而不需要中间在网页端也操作一番呢?办法当然是有的。
下面以一个示例来说明一下。
1. 准备测试文件
首先做一些文件的准备,作为此次实验新建的本地仓库 gittest 以及新建本地文件 README.md 并向此文件写入 # git test 的内容,当前文件夹目录结构为 tree 指令结果所示。
$ mkdir gittest $ cd gittest $ touch README.md $ echo "# git test" >> README.md $ tree . .
└── README.md
2. 初始化本地仓库
对本地仓库进行初始化
$ git init $ git add README.md $ git commit -m "update README"
提交时如果出现下面的提示,表示我们需要首先认证自己的身份,以向项目表明是谁在提交。
*** Please tell me who you are. Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name" to set your account's default identity.
Omit --global to set the identity only in this repository.
根据提示操作即可,如下示例。
$ git config --global user.email "phillee2016@163.com" $ git config --global user.name "philleer" $ git commit -m "update README"
至此本地仓库已经建立完成,并且修改保存到 stage 当中。
3. 本地新建远程仓库
正常的流程是登陆 GitHub,在左上角点击 New,新建一个远程仓库,然后再本地通过
$ git remote add origin https://github.com/philleer/gittest.git
将已有的本地仓库与之关联,然后将本地仓库内容推送到GitHub上。
现在我们通过命令行来实现这一操作。
$ curl -u 'philleer' https://api.github.com/user/repos -d '{"name":"gittest"}'
只需要把上面命令行中的 philleer 改成自己的用户名,gittest 改成自己的新建仓库名。
此时会让你输入登陆密码,按指示输入即可。
Enter host password for user 'philleer':
输入之后回车确认,出现下面的结果表示已经新建成功。


{
"id": 183884632,
"node_id": "MDEwOlJlcG9zaXRvcnkxODM4ODQ2MzI=",
"name": "gittest",
"full_name": "philleer/gittest",
"private": false,
"owner": {
"login": "philleer",
"id": 22950478,
"node_id": "MDQ6VXNlcjIyOTUwNDc4",
"avatar_url": "https://avatars1.githubusercontent.com/u/22950478?v=4",
"gravatar_id": "",
"url": "https://api.github.com/users/philleer",
"html_url": "https://github.com/philleer",
"followers_url": "https://api.github.com/users/philleer/followers",
"following_url": "https://api.github.com/users/philleer/following{/other_user}",
"gists_url": "https://api.github.com/users/philleer/gists{/gist_id}",
"starred_url": "https://api.github.com/users/philleer/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/philleer/subscriptions",
"organizations_url": "https://api.github.com/users/philleer/orgs",
"repos_url": "https://api.github.com/users/philleer/repos",
"events_url": "https://api.github.com/users/philleer/events{/privacy}",
"received_events_url": "https://api.github.com/users/philleer/received_events",
"type": "User",
"site_admin": false
},
"html_url": "https://github.com/philleer/gittest",
"description": null,
"fork": false,
"url": "https://api.github.com/repos/philleer/gittest",
"forks_url": "https://api.github.com/repos/philleer/gittest/forks",
"keys_url": "https://api.github.com/repos/philleer/gittest/keys{/key_id}",
"collaborators_url": "https://api.github.com/repos/philleer/gittest/collaborators{/collaborator}",
"teams_url": "https://api.github.com/repos/philleer/gittest/teams",
"hooks_url": "https://api.github.com/repos/philleer/gittest/hooks",
"issue_events_url": "https://api.github.com/repos/philleer/gittest/issues/events{/number}",
"events_url": "https://api.github.com/repos/philleer/gittest/events",
"assignees_url": "https://api.github.com/repos/philleer/gittest/assignees{/user}",
"branches_url": "https://api.github.com/repos/philleer/gittest/branches{/branch}",
"tags_url": "https://api.github.com/repos/philleer/gittest/tags",
"blobs_url": "https://api.github.com/repos/philleer/gittest/git/blobs{/sha}",
"git_tags_url": "https://api.github.com/repos/philleer/gittest/git/tags{/sha}",
"git_refs_url": "https://api.github.com/repos/philleer/gittest/git/refs{/sha}",
"trees_url": "https://api.github.com/repos/philleer/gittest/git/trees{/sha}",
"statuses_url": "https://api.github.com/repos/philleer/gittest/statuses/{sha}",
"languages_url": "https://api.github.com/repos/philleer/gittest/languages",
"stargazers_url": "https://api.github.com/repos/philleer/gittest/stargazers",
"contributors_url": "https://api.github.com/repos/philleer/gittest/contributors",
"subscribers_url": "https://api.github.com/repos/philleer/gittest/subscribers",
"subscription_url": "https://api.github.com/repos/philleer/gittest/subscription",
"commits_url": "https://api.github.com/repos/philleer/gittest/commits{/sha}",
"git_commits_url": "https://api.github.com/repos/philleer/gittest/git/commits{/sha}",
"comments_url": "https://api.github.com/repos/philleer/gittest/comments{/number}",
"issue_comment_url": "https://api.github.com/repos/philleer/gittest/issues/comments{/number}",
"contents_url": "https://api.github.com/repos/philleer/gittest/contents/{+path}",
"compare_url": "https://api.github.com/repos/philleer/gittest/compare/{base}...{head}",
"merges_url": "https://api.github.com/repos/philleer/gittest/merges",
"archive_url": "https://api.github.com/repos/philleer/gittest/{archive_format}{/ref}",
"downloads_url": "https://api.github.com/repos/philleer/gittest/downloads",
"issues_url": "https://api.github.com/repos/philleer/gittest/issues{/number}",
"pulls_url": "https://api.github.com/repos/philleer/gittest/pulls{/number}",
"milestones_url": "https://api.github.com/repos/philleer/gittest/milestones{/number}",
"notifications_url": "https://api.github.com/repos/philleer/gittest/notifications{?since,all,participating}",
"labels_url": "https://api.github.com/repos/philleer/gittest/labels{/name}",
"releases_url": "https://api.github.com/repos/philleer/gittest/releases{/id}",
"deployments_url": "https://api.github.com/repos/philleer/gittest/deployments",
"created_at": "2019-04-28T09:10:16Z",
"updated_at": "2019-04-28T09:10:16Z",
"pushed_at": "2019-04-28T09:10:17Z",
"git_url": "git://github.com/philleer/gittest.git",
"ssh_url": "git@github.com:philleer/gittest.git",
"clone_url": "https://github.com/philleer/gittest.git",
"svn_url": "https://github.com/philleer/gittest",
"homepage": null,
"size": 0,
"stargazers_count": 0,
"watchers_count": 0,
"language": null,
"has_issues": true,
"has_projects": true,
"has_downloads": true,
"has_wiki": true,
"has_pages": false,
"forks_count": 0,
"mirror_url": null,
"archived": false,
"disabled": false,
"open_issues_count": 0,
"license": null,
"forks": 0,
"open_issues": 0,
"watchers": 0,
"default_branch": "master",
"permissions": {
"admin": true,
"push": true,
"pull": true
},
"allow_squash_merge": true,
"allow_merge_commit": true,
"allow_rebase_merge": true,
"network_count": 0,
"subscribers_count": 0
}
示例结果
4. 关联本地仓库与远程仓库
然后将本地仓库与之关联,并推送本地仓库内容。按指示输入账户密码即可。
$ git remote add origin https://github.com/philleer/gittest.git $ git push -u origin master Username for 'https://github.com': philleer Password for 'https://philleer@github.com':
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 264 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/philleer/gittest.git
* [new branch] master -> master
Branch master set up to track remote branch master from origin.
这样就完成了!不用每次都打开网页新建仓库,让后再回到本地进行关联了。
本地一条龙,全程无切换。
参考资料
[1] 命令行方式下在Github上新建远程仓库并PUSH https://blog.csdn.net/csm201314/article/details/78254777
Ubuntu Terminal命令行新建仓库并推送到远程仓库的更多相关文章
- Git 创建远程仓库并克隆到本地,创建本地仓库并推送到远程仓库
配置用户信息 配置的是你个人的用户名称和电子邮件地址.这两条配置很重要,每次 Git 提交时都会引用这两条信息,说明是谁提交了更新,会随更新内容一起被永久纳入历史记录 git config --glo ...
- Git创建本地仓库并推送至远程仓库
作为一名测试同学,日常工作经常需要checkout研发代码进行code review.自己极少有机会创建仓库,一度以为这是一个非常复杂过程.操作一遍后,发现也不过六个步骤,so,让我们一起揭开这神秘面 ...
- Git操作_本地仓库第一次推送到远程仓库
实现目的: 本地已经安装好Git,pycham已经有一个项目,打算放到Git远程仓库 前提条件:本地配置好了公钥,且GIT 上关联好公钥,步骤如下: git本地仓库连接github操作步骤:windo ...
- 使用git命令将本地项目推送到远程仓库
将本地项目推送到远程仓库 这里先放一张图, 有助于理解git命令 1. 在GitHub上新建一个仓库 注意不要勾选自动生成README.md文件, 否则会产生某些问题, README.md文件到时可以 ...
- git将本地仓库推送到远程仓库
如何将本地仓库推送到公司远程仓库? 1:前提是你本地安装好git.先把远程git仓库克隆到本地 git clone 远程仓库的地址(SSH) 2: git branch //查看本地分支 3: g ...
- 如何把已有的本地git仓库,推送到远程新的仓库(github private)并进行远程开发;
最近因为疫情,在家干活,连接不上之前的gitlab 服务器:所以不得把现有的代码迁移到github 的私有仓库来进行开发:下面简要记录迁移的过程: 首先,确保你已经配置好本地访问远程私有仓库的所有权限 ...
- git 本地项目推送至远程仓库
1 在本地文件夹下创建一个 Git 仓库(如test目录下) git init 2 此时test文件夹即是你的maste主分支,你可以在改文件夹下写自己的项目 3 将test文件夹下的内容提交至暂存区 ...
- Git如何把本地代码推送到远程仓库
Git如何把本地代码推送到远程仓库 1. 初始化版本库 $ git init 2. 添加文件到版本库(只是添加到缓存区),.代表添加文件夹下所有文件 $ git add . 3. 把添加的文件提交到版 ...
- Git本地初始化并推送到远程仓库
git常用命令 1.全局配置git用户名邮箱 git config --global user.name '你的名字' git config --global user.email '你的邮箱地址' ...
随机推荐
- 5行Python代码就能实现刷爆全网的动态条形图!
说起动态图表,最火的莫过于动态条形图了. 在B站上搜索「数据可视化」这个关键词,可以看到很多与动态条形图相关的视频. 好多视频都达到了上百万的播放量,属实厉害. 目前网上实现动态条形图现成的工具也很多 ...
- ID3很不错的讲解(matlab程序实现)
1)决策树之ID3 决策树算法是分类算法的一种,基础是ID3算法,C4.5.C5.0都是对ID3的改进.ID3算法的基本思想是,选择信息增益最大的属性作为当前的分类属性. 看Tom M. Mitche ...
- python简单的函数应用
一个简单的函数应用,包括自定义函数,lambda函数,列表解析. 1 #!usr/bin/env python3 2 # -*- coding:utf-8 -*- 3 4 #开始定义函数 5 def ...
- Ubuntu不能直接从windows复制粘贴文件或文字
终端输入: apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools-desktop 然后重启电脑就可以了. 参考链接:h ...
- 开发规范(三)数据库 By 阿里
建表规约 索引规约 SQL语句 ORM映射
- Eclipse中,No compiler is provided in this environment. Perhaps you are running on a JRE rather than a
问题说明 Eclipse导入Maven项目后,执行 mvn clean install后,出现如下错误: [INFO] ---------------------------------------- ...
- [leetcode]61. Rotate List反转链表k个节点
类似于找链表的后k个节点 不同的是要把前边的接到后边 public ListNode rotateRight(ListNode head, int k) { //特殊情况 if (head==null ...
- [leetcode]BestTimetoBuyandSellStock买卖股票系列问题
问题1: If you were only permitted to complete at most one transaction (ie, buy one and sell one share ...
- [leetcode]720. Longest Word in Dictionary字典中最长的单词
b.compareTo(a) 这个函数是比较两个值得大小,如果b比a大,那么返回1 如果小,那么返回-1,相等返回0 如果比较的是字符串,那么比较字典编纂顺序,b靠前返回-1,靠后返回1 这个题的核心 ...
- 10. C++对象模型和 this 指针
1. 成员变量和成员函数分开存储 在C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象上 空对象占用内存空间为:1 ----> C++编译器会给每个空对象也分配一个字节 ...