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. Markdown中如何添加特殊符号

    符号 说明 编码 符号 说明 编码 符号 说明 编码 " 双引号 " × 乘号 × ← 向左箭头 ← & AND符号 & ÷ 除号 ÷ ↑ 向上箭头 ↑ <  ...

  2. GoogleTest 之路1-Generic Build Instructions编译指导总方案

    准备工作 为了在你的测试中使用GoogleTest, 你必须让你的编译系统 知道到哪里去寻找GoogleTest 的头文件和源文件. 具体的方法只能依赖于你具体使用的哪种编译系统了,一般来讲这个非常容 ...

  3. LeetCode(217)Contains Duplicate

    题目 Given an array of integers, find if the array contains any duplicates. Your function should retur ...

  4. AD采样求平均STM32实现

    iADC_read(, &u16NTC_1_Sample_Val_ARR[]); == ui8FirstSampleFlag) { ; i<; i++) { u16NTC_1_Sampl ...

  5. HBase0.94.2-cdh4.2.0需求评估测试报告1.0之二

    Hbase 配置文件: hbase-site.xml <configuration> <property> <name>hbase.cluster.distribu ...

  6. HDU 5378 树上的概率DP Leader in Tree Land

    官方题解: 可以用求概率的思想来解决这个问题.令以i号节点为根的子树为第i棵子树,设这颗子树恰好有sz[i]个点.那么第i个点是第i棵子树最大值的概率为1/sz[i],不是最大值的概率为(sz[i]- ...

  7. String的getBytes()方法

    这是一篇转帖: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/maxracer/archive/2010/12/14/6075057.aspx 在Java中,Stri ...

  8. git 强制回到以前版本

    git reset dfd3e36a641340a0b86f811df869c4375fabeff2 --hard

  9. Django Form two

    Django_Form: 1.class TeacherNewForm(Form): username = fields.CharField( required=True, error_message ...

  10. Leetcode25--->Reverse Nodes in k-Group(以k个节点为段,反转单链表)

    题目: 给定一个单链表,一次反转k个节点,最终返回翻转后的链表的头节点:如果链表不足k个,则不变 举例: Given this linked list: 1->2->3->4-> ...