git是一个十分好用的版本控制工具,我们经常在本地使用git进行项目开发,Git 并不像 SVN 那样有个中心服务器,如果想要通过 Git 分享你的代码或者与其他开发人员合作,就需要将数据放到一台其他开发人员能够连接的服务器上。我们经常使用GitHub作为远程仓库。

创建远程仓库

要想将本地项目传到GitHub上,首先需要在GitHub上新建一个仓库,填入仓库名,如下图所示:

本地项目与远程仓库关联

然后就需要我们将本地项目和GitHub远程仓库关联,这里有两种选择,一种是直接克隆远程仓库,另一种是先创建本地仓库,再用命令添加。

克隆远程仓库

1.命令如下:

git clone git://github.com/xinyuexy/flask-tutorial.git

这时在本地就会出现一个flask-tutorial目录,这时该命令已经自动创建了本地的 master 分支用于跟踪远程仓库中的 master 分支。

2.使用git remote -v查看如下:



可以看到一个名为origin的远程仓库。

手动添加远程仓库

我们也可以选择先在本地创建一个仓库,然后与远程仓库关联。

1.初始化仓库

首先需要使用git init命令初始化,这样才会被标识为一个git项目,并创建一个本地master分支。

2.添加远程仓库

git remote add origin git://github.com/xinyuexy/flask-tutorial.git

这里添加了一个origin远程仓库与本地master关联,也可以添加多个远程仓库,比如我这里又添加一个为origin2的远程仓库

git remote add origin2 git://github.com/xinyuexy/Algorithm.git

使用git remote -v查看:



可以看到现在有origin、origin2两个远程仓库了。

3.远程仓库的删除与重命名

也可以对远程仓库进行删除和重命名:

重命名:git remote rename origin origin3

删除: git remote rm origin2

删除后git remote查看:

提交代码到远程仓库

最后就是将本地写好的代码提交的远程仓库了.

1.git add *

使用此命令跟踪所有文件,以便于后面提交

2.git status

查看当前已跟踪文件



2.git commit -m "init commit"

使用此命令提交到本地分支

3.git pull

拉取远程仓库到本地,注意可能在多人开发项目时,别人可能对远程仓库进行了修改,这时如果直接提交会发生不一致错误,需要先将远程仓库最新的内容拉取到本地并合并。这条命令其实相当于git fetchgit merge的结合。

4.git push origin master

终于到最后一步可以提交数据到远程仓库了。

.gitignore文件的使用

最后再补充一下关于.gitignore文件的作用。当我们使用git add *进行添加时,会包含很多我们不想添加的文件,这时在.gitignore文件中可以定义我们想忽略的文件内容,最后就不会提交到远程仓库,比如我的.gitignore文件内容如下:

venv/

*.pyc
__pycache__/ .idea/

在使用python虚拟环境时,venv目录便不会提交到远程仓库,同时pycharm产生的一些文件.idea也不会提交到远程。

这里推荐一个自动生成.gitignore文件的网站 https://www.gitignore.io/:



输入你所使用环境的关键词,点击create便能自动生成.gitignore文件了!

git使用笔记1:结合Github远程仓库管理项目的更多相关文章

  1. git 本地提交代码到 github 远程库,没有弹框 github login

     git 本地提交代码到 github 远程库,没有弹框 github login:  原因: win10 有个凭据管理器,给保存了历史登陆用户名密码,导致无法切换用户. 解决办法: 删除历史登陆用户 ...

  2. Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件

    远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供 ...

  3. iOS开发——源代码管理——git(分布式版本控制和集中式版本控制对比,git和SVN对比,git常用指令,搭建GitHub远程仓库,搭建oschina远程仓库 )

    一.git简介 什么是git? git是一款开源的分布式版本控制工具 在世界上所有的分布式版本控制工具中,git是最快.最简单.最流行的   git的起源 作者是Linux之父:Linus Bened ...

  4. git——学习笔记(二)远程仓库

    GIT杀手锏之一——远程仓库 拥有远程仓库的两个办法 1:搭一个Git服务器  2:在GitHub上免费托管的Git仓库 本地仓库   远程仓库 一.在GitHub上免费托管的Git仓库 电脑: 1. ...

  5. 初次使用git上传代码到github远程仓库

    https://blog.csdn.net/loner_fang/article/details/80488385 2018年05月28日 21:02:31 蒲公英上的尘埃 阅读数:697 因为最近在 ...

  6. Git本地仓库push至GitHub远程仓库每次输入账户密码问题解决(亲测可行)

    在使用git push命令将本地仓库内容推送至GitHub远程仓库的每一次git都要让我们输入GitHub的用户名和密码.这着实让我们心烦.我们会有疑问,我明明设置了公钥呀!怎么还需要输入账户和密码? ...

  7. git学习笔记(三)—— 远程仓库

    一.gitHub&&SSH Key 为git仓库提供托管服务的,所以注册一个github账号,就可以免费获得git远程仓库. 本地Git仓库和GitHub仓库之间的传输是通过SSH加密 ...

  8. 使用git上传代码到github远程仓库

    一.新建代码库注册好github登录后,首先先在网页上新建代码库. 点击右上角"+"→New repository 进入如下页面:按照要求填写完成后,点击按钮创建代码库创建成功. ...

  9. window下如何使用Git上传代码到github远程服务器上(转)

    注册账户以及创建仓库 首先你得有一个github账号,没有自行注册,登录成功后应该是这样 在页面上方用户菜单上选择 "+"->New repository 创建一个新的仓库 ...

随机推荐

  1. 一种轻量级的微信小程序日志监控的方法

    今天一个活动要写个H5,明天一个功能要用小程序,天天都在写bug.用户反馈小程序用起来有问题还特么还不知道到底出了啥bug,反馈多了,老板要扣工资了!看来挖了太多坑不填也不行,程序异常还是要主动追踪, ...

  2. SSH整合配置文件概括

    配置方式一:struts.xml, applicationContext.xml(hibernate.cfg.xml配置信息写入spring配置文件中) (版本号, struts2:2.3.15; s ...

  3. 数组、ArrayList、List、LinkedList的区别

    一.数组 数组在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. 1.一维数组 声明一个数组: ]; 初始化一个数组: ] { , , , , }; //定长 声明并初始化: ...

  4. SSM-SpringMVC-19:SpringMVC中请求和响应的乱码解决

     ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 配置一道拦截器即可解决乱码 配置方式如下: 在web.xml中: <!--过滤器处理乱码--> ...

  5. app后端设计(4)-- 通讯的安全性

    在app的后台设计中,一个很重要的因素是考虑通讯的安全性. 因此,我们需要考虑的要点有: 1. 在app和后台,都不能保存任何用户密码的明文 2. 在app和后台通讯的过程中,怎么保证用户信息的安全性 ...

  6. GitHub 系列之「团队合作利器 Branch」

    Git 相比于 SVN 最强大的一个地方就在于「分支」,Git 的分支操作简直不要太方便,而实际项目开发中团队合作最依赖的莫过于分支了,关于分支前面的系列也提到过,但是本篇会详细讲述什么是分支.分支的 ...

  7. 如何修改Tomcat默认端口?

    修改的原因: 关于8080端口:8080端口同80端口,是被用于WWW代理服务的,可以实现网页浏览,经常在访问某个网站或使用代理服务器的时候,会加上":8080"端口号.另外Apa ...

  8. Oracle的nvl

    在Oracle中nvl(字段名,value)函数用于对没有值的字段做处理在MySql中ifnull(字段名,value)是一样的功能

  9. Swift 结构体的使用

    Swift 结构体是构建代码所用的一种通用且灵活的构造体. 我们可以为结构体定义属性(常量.变量)和添加方法,从而扩展结构体的功能. 与 C 和 Objective C 不同的是: 结构体不需要包含实 ...

  10. jdk源码剖析四:JDK1.7升级1.8 HashMap原理的变化

    一.hashMap数据结构 如上图所示,JDK7之前hashmap又叫散列链表:基于一个数组以及多个链表的实现,hash值冲突的时候,就将对应节点以链表的形式存储. JDK8中,当同一个hash值(T ...