git用了很久了,github也用很久了,但一直都是使用别人的项目,

最近想把自己写的一些代码放到自己的帐号上去

以为就是很简单的代码推送,真正做一次时候才发现,原来坑还不少呢,

就把这次的经历记录一下

1,首先,准备工作,你得有一个自己的github帐号,其次,你得安装了git工具,最后你还得有自己的本地项目,

2,在github上创建自己的远程代码仓库

3,下载github客户端

下载地址:

http://windows.github.com

安装成功并登录后如下

4,添加本地目录到远程仓库

在你的本地文件目录下右击,就会出现Git Bash选项,点击进入。

5、设置用户名和邮箱地址。这两个值是作为上传时记录的值。输入命令:

git config --global user.name "用户名"

git config --global user.email "邮箱"

设置好后可以用命令查看当前的设置:

git config --global user.name

6、初始化本地仓库

git init

此目录下会创建一个.git的文件(此文件可能会隐藏)

7,将该项目纳入.git版本控制中

git add .

一定要注意add和.之间是有空格的,否则会报错的

8,将所有更改放到本地暂存区域,等待上传。

git commit -m "此次上传的说明"

9,连接远程仓库

git remote add origin "https://github.com/GitHub用户名/代码仓库名称.git"

可以通过git remote -v 查看本地链接到的远程仓库

若分支设置错误,可以查看后切换分支

【git remote rm origin】 删除现有远程仓库 
【git remote add origin url】添加新远程仓库

10、从远程仓库拉取所有更新(每次上传项目都要操作)

git pull origin master

注意:此处极易报错!

因为远程代码仓库和本地代码仓库合并后,可能会有冲突,

如有报错,使用git status查看状态

本次就出现远程代码与本地合并失败情况

此步先pull,因为两个仓库不同,发现refusing to merge unrelated histories,无法pull

因为他们是两个不同的项目,要把两个不同的项目合并,git需要添加一句代码,在git pull,
这句代码是在git 2.9.2版本发生的,最新的版本需要添加--allow-unrelated-histories
git pull origin master --allow-unrelated-histories

补充:在 git pull origin master --allow-unrelated-histories此步操作时,.gitignore文件错误冲突并没有解决,只是强制合并忽略掉了,

是我觉得.gitignore文件无关紧要没想去解决

被朋友 发现没有解决此冲突就跳过就提交,虽然 我这是第一次对远程仓库作代码提交,而冲突的问题又不大才给忽略,

但是这个操作非常不好,在远程有大量代码时候,出现此问题,还是不要这样操作,解决冲突文件再提交,是必须 要做不能忽略的步骤,

另外 ,补充下.gitignore介绍

在工程实现过程中,会生成一些中间文件,或者在项目中的部分文件是不需要进行版本管理的。

对于这些文件应该对于Github来讲是透明的。Github提供这种功能,可以自己指定哪些文件可以不被管理。

具体方法是在版本管理的根目录下(与.git文件夹同级)创建一个  .gitignore(gitignore是隐藏文件,所以前面有个点)

在进行协作开发代码管理的过程中,常常会遇到某些临时文件、配置文件、或者生成文件等,

这些文件由于不同的开发端会不一样,如果使用git add . 将所有文件纳入git库中,那么会出现频繁的改动和push,这样会引起开发上的不便。

Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则。

Git可以很方便的帮助我们解决这个问题,那就是建立项目文件过滤规则。git中提供两种过滤机制,

一种是全局过滤机制,即对所有的git都适用;

另一种是针对某个项目使用的过滤规则。

例如:

# 此为注释 ,将被 Git 忽略
# 忽略所有 .a 结尾的文件
*.a
# 但 lib.a 除外
!lib.a
# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
/TODO
# 忽略 build/ 目录下的所有文件
build/
# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
doc/*.txt
# 会忽略掉 doc/ 里面所有的txt文件,包括子目录下的(**/ 从 Git 1.8.2 之后开始支持 **/ 匹配模式,表示递归匹配子目录下的文件)
doc/**/*.txt
local.properties #过滤具体文件
!local.properties#添加具体文件
*.[oa]#忽略所有以 .o 或 .a 结尾的文件

因为git是分布式管理,所以尽量不要在master主分支上作开发,

例如自己有一个项目,在外面开发时,可以使用分支1,在家开发时可以使用分支2,如果有其他人参入 ,分别 使用分支3,4,5

每次提交本地代码时候,先合并远程master主分支到本地,再提交

1.创建本地分支

git branch 分支名

 
2.切换本地分支
git checkout 分支名
 
本地分支提交
git  add .
git commit -m ‘dev'
git push -u origin dev

合并本地分支到master

git  checkout master
git pull origin master
git merge origin/master //合并分支
git status
On branch master
Your branch is ahead of 'origin/master' by commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean

上面的意思就是你有12个commit,需要push到远程master上 
执行下面命令即可

git push origin master
 

在github上创建自己的代码仓库的更多相关文章

  1. Github:在Github上创建自己的代码仓库

    Github是一个分布式版本控制系统,最初由Linux之父Linus Torvalds编写,在云时代的今天已经成为了开发者管理代码和发现已有代码的最常用工具之一,下面我们将开始git之旅. 注册Git ...

  2. 在GitHub上创建代码仓库

    目前在GitHub上管理托管带代码的人越来越多了,今天也尝试了一次,顺便记下来,备用. 首先是在GitHub上创建一个代码仓库,创建完之后,GitHub上会有提示,这时进入项目目录执行下面的命令,顺便 ...

  3. 在GitHub上创建上传下载开源项目代码

    1.注册GitHub帐号,创建GitHub项目代码仓库 1.1.注册GitHub帐号 在使GitHub之前,需要先登录其官网注册一个免费使用的账号.登录 https://github.com/join ...

  4. 如何在github上创建仓库,并将本地的文件上传到对应的远程仓库

    1.安装git,可从 http://www.bootcss.com/p/git-guide/下载git 2.在github上创建仓库,注意不勾选Initialize this repository w ...

  5. 标准程序员系列-Github篇-初始化一个代码仓库

    下面将一步步介绍怎样使用GitHub来初始化一个项目的版本控制仓库: 1. 到GitHub上注册自己的账号:https://github.com/ 2. 创建第一个代码仓库一个仓库相当于一个项目的代码 ...

  6. github git 在GitHub上创建项目并将本地项目push到网站上

    众所周知,git是与svn类似的版本控制系统,git的去中心化.分布式等的优点,在不久将来用户量大有可能超过svn, 常见的代码托管网站有GitHub,coding.net, gitee.com 码云 ...

  7. 利用git工具命令简单的从github上拷贝和上传代码

    第一:从github上拷贝项目到本地   1.在github上建立一个项目名为:MygitTest 2.在我们本地电脑上把这个项目拷贝下来:直接选择一个文件夹,右键选择git Bash here 直接 ...

  8. github上创建java项目简单操作

    github上创建java项目简单操作 参考L: github上创建java项目简单操作 - CSDN博客http://blog.csdn.net/qq_29392425/article/detail ...

  9. 关于如何在github上创建团队开发环境

    今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...

随机推荐

  1. 标准C++(4)继承

    一.继承的作用 若A类继承了B类,可以使A类获得B类中的部分成员变量和成员函数,这能使程序员在已有类的基础上重新定义新的类.继承是类的重要特性,当A类继承了B类,我们称A类为派生类或子类,B类为基类或 ...

  2. Thinkphp5的安装

    很长没有码代码了,现在开始做这件事情的意义已经完全与以前不一样了.因为最近有相当长的一段休息时间,是个学习的好时间啊.之前接触过TP3.2,听说后来的版本有挺大的改动,因此呢,现在终于有时间可以好好的 ...

  3. 配置wamp开发环境

    新手在PHP网站建设时,会使用使用PHP的集成开发环境,这样利于开发和理解!但是做为一个网站开发人员,会独立的配置开发环境这是必须的……因为集成的环境毕竟是固定的,不利于自己的开发.好,废话少说咱现在 ...

  4. manjaro(arch)里的vbox 安装centos7后,centos无法联网的解决办法

    第一步,在VirtualBox中设置网卡连接方式:点“设置”,在弹出的界面中点“网络”,最后选择“连接方式”为“桥接网卡”. 回到centOS中,进入终端,输入命令:ip addr,查看网络配置文件的 ...

  5. python3与python2的编码问题

    在讲这个问题之前,我们先说说unicode的工作原理.unicode包含了跟全球所有国家编码的映射关系,就是不管你用哪个国家的编码,unicode都能找到它在unicode中的编码.那么无论你用什么编 ...

  6. holtek编程注意事项

    1.holtek单片机中断服务函数中函数调用里的参数不能传递地址,不然程序就会跑飞 2.holtek单片机尽量不要函数嵌套很多层,嵌套过多,会导致单片机复位

  7. STVP烧录教程

    可以运行独立的烧录软件ST Visual Programmer (STVP)进行STM8芯片烧录.运行“开始”->ST Toolset->Development Tools -> S ...

  8. <node>……express的中间件……//

    Express是一个基于Node.js平台的web应用开发框架,在Node.js基础之上扩展了web应用开发所需要的基础功能,从而使得我们开发Web应用更加方便.更加快捷. 中间件是什么? 中间件函数 ...

  9. HDU 3861 The King’s Problem 强连通分量 最小路径覆盖

    先找出强连通分量缩点,然后就是最小路径覆盖. 构造一个二分图,把每个点\(i\)拆成两个点\(X_i,Y_i\). 对于原图中的边\(u \to v\),在二分图添加一条边\(X_u \to Y_v\ ...

  10. luogu2763 试题库问题

    倘若某个试题已经被选到某个类型里了,那么它就不可再被选进别的类型了. 所以,对于每个类型,我们将其与汇连边,权值是它的要求的题目数量. 对于每个题目,我们将源与其连边,权值是1,代表只能用一次.然后再 ...