为了方便自己的代码管理,通常是把自己的写的一些小项目分享到GitHub 或者git.oschina上面!

区别:

GitHub 只能创建公开的项目,国外的,速度慢!

git.oschina 开源中国的代码托管平台,可建私有的,国内的,速度快!
一,准备工作:

Git 客户端安装:下载git 客户端,并安装!

附:下载地址:git客户端 ,安装教程!

在oschina/GitHub创建账号并创建项目!

然后,就得到了远程仓库的url:

https://git.oschina.net/ut2002/WebViewSSL.git

二,Git操作流程:(以oschina平台为例,github等同)

Git项目:git@github.com:用户名/项目名.git

OsChina项目:git@oschina.net:用户名/项目名.git

方法一:本地创建项目根目录(本地仓库),然后与远程oschina关联!

-- 初始化Git仓库 :git init ; //新建一个本地仓库

-- 添加文件 :git add ./* ; //将目录中所有文件添加;

-- 提交改变到缓存 :git commit -m 'description' ;

-- 本地git仓库关联Git仓库 :

git remote add origin https://git.oschina.net/ut2002/WebViewSSL.git ;

// 添加远程仓库,origin只是一个远程仓库的别名,可以随意取

-- 提交到Git仓库前先更新远程仓库内容至本地 : git pull origin master ;
// 防止远程仓库,有更新而产生冲突

-- 提交到Git中 : git push -u origin master ;

//将本地仓库push远程仓库,并将origin设为默认远程仓库

在本地项目中右键进入git 命令行模式

然后,按上面的步骤进行操作!

输入 账号与密码,进行上传!

但是报错如下:

根据提示先pull

这是因为期间远程仓库有可能有更新,提示在push前因先把远程仓库的代码更新到本地,才能push!

Git pull origin master

上传成功!

注意:有时有开分支开发时,需要合并分支至master,

输入命令git merge gh-pages(分支名) 报错! fatal:refusing to merge unrelated histories.

原因是合并不相关的会产生新的历史记录,所以应该这样

git merge gh-pages --allow-unrelated-histories

方法二:不用关联远程仓库,直接从git仓库拉源码至本地!

-- 从Git仓库拉项目到本地 :git clone https://git.oschina.net/ut2002/HelloDemo.git , 注意克隆 的时候直接在仓库根目录即可, 不用再创建项目根目录 ;

拉下来的项目会自动生成 .git文件,表明,是个git仓库,不用git init来初始化!

-- 添加文件 :git add ./* , 将目录中所有文件添加;

-- 提交缓存 :git commit -m 'description';

-- 合并 master :git merge master;

-- 与GitHub远程仓库同步 :git pull 远程仓库地址 ;

-- 提交到远程GitHub仓库 : git push 远程仓库地址 master ;

之后修改提交 :

-- 与GitHub远程仓库同步 :git pull ;

-- 查看文件变更 : git status ;

-- 提交代码到本地缓存 : git commit -m 'description';

--提交代码到远程GitHub仓库 :git push ;

图文步骤:

在要建立本地仓库的文件中进入git命令行模式:如方法一 进入git命令行模式

从远程仓库 clone下项目,然后就会在命令行的目录下生成.git文件!

如在git pull 报错:

错误可能是因为在你以前pull下来的代码没有自动合并导致的.

保留你本地的修改  git merge --abort   git reset --merge

合并后记得一定要提交这个本地的合并,然后在获取线上仓库!再git pull!

如在 git add --all 报错

原因分析:

在windows中的换行符为 CRLF, 而在linux下的换行符为:LF

使用git来生成工程后,文件中的换行符为LF, 当执行git add .时,系统提示:LF 将被转换成 CRLF

解决方法:

删除刚刚生成的.git文件

rm -rf .git

git config --global core.autocrlf false

这样系统就不会去进行换行符的转换了

最后重新执行

Git init 再 git add --all

就按正常步骤操作!

如 git push 报 : error:src refspec master does not match any

原因分析

引起该错误的原因是,目录中没有文件,空目录是不能提交上去的

解决方法

touch READMEgit add README git commit -m 'first commit'git push origin master

方法三:用Git Gui图形化界面来操作!

- - 创建 Create New Repository

Create New Repository  : 创建新的版本库

Clone Existing Repository :克隆存在的版本库

Open Existing Repository :打开存在的版本库

如本地目录没有源文件,可以把源文件拷贝至目录下!

----提交本地文件至git仓库

确定后

填写提交描述信息

然后填写远程仓库地址

输入账号与密码成功!

----从git仓库clone项目,再提交

选择克隆新的版本库然后Clone git项目

注意:本地目录需是没有存在的目录,不然会报已存在,因为clone下来会自动创建

因为项目文件没有任何改动,所以显示的是空白!

可通过,clone任一开源项目地址,再push自己的远程仓库,这样,实现下载开源项目,修改,学习,再push至自己的远程仓库,来记录自己学习的过程!!!很方便滴!!

三种方法,比较推荐用Git Gui这样的方式 ,能减少出错!!

附二,简单教程

附 git分支开发原则:

原文链接http://blog.csdn.net/YanJiangbo/article/details/25738737

如果本地dev分支有修改,则需要先切换到master分支,把本地分支的修改merge回master(Git merge dev),然后在master上把合并后的内容push到master上;然后再切换回本地分支,再把master的内容merge回分支,然后就继续在分支开发。
开发流程:

// 查看本地分支

git branch

// 显示本地、服务器所有分支

git branch -a

// 显示本地分支和服务器分支的映射关系

git branch -vv

// 切换分支(和创建分支就差一个-b参数)

git checkout {{branch_name}}

// 创建新分支,新分支的代码来自于当前分支

git checkout -b  [分支名]

// push本地分支代码到远端服务器,如果远端服务器没有该分支,将会自动创建;

git push origin [远端分支名]

// pull远端分支代码到本地当前分支(建议使用)

git pull origin master

如果只想用git pull,可能需要建立track关系,则使用
git branch  --set-upstream-to=origin/<远端branch_name> <本地branch_name>
输出结果:Branch h5_dev set up to track remote branch h5_dev from origin.

// 合并本地master分支到当前分支,比如当前处于dev分支,则把master上的代码merge到dev分支上

git merge master

// 合并远程master分支到当前分支

git merge origin/master

// 删除本地分支

git checkout {{another_branch}}

git branch -d {{local_branch_name}}

//删除远程分支

git push origin --delete {{branch_name}}

# 假设本地有两个分支: master和dev, 使用dev进行本地开发# Step1. dev.commitgit status  # 当前分支,修改的文件git diff    # 具体的修改git commit -m "{COMMIT_MESSAGE}" .  # 提交# Step2. master.update.merge-devgit checkout master # 切换到master分支git pull origin master:master   # 更新mastergit merge dev   # 合并dev分支的修改git push origin master:master   # 提交代码到远程Git库# Step3. dev.updategit pull origin master:dev  # 更新devgit checkout dev    # 切换回dev, 以便下一步的开发

常用命令:

1. git config --global user.name

2. git config --global color.status auto

3. git config --global color.diff auto

4. git remote -v// 查看远程分支的git路径

5. git clone git@192.168.53.123/tv.git

6. git status // 查看当前版本的状态(是否修改)

7. git add xyz // 添加当前修改的文件到暂存区 or 跟踪新文件(git add .把所有修改的文件add在暂存区)

8. git commit -m '{{update_msg}}'

9. git rm xxx // 从当前跟踪列表移除文件,并完全删除

10. git rm -cached xxx// 仅在暂存区删除,保留文件在当前目录,不再跟踪

11. git mv old_name new_name// 重命名文件

12. git log

13. git log -n

14. git log --stat

15. git show b4f44fe

16. git diff

强制回滚命令:

git reset --hard e1da2c37bdaf3df52b9cf105ec7a7bd83f488bc1(上一次提交的号)

把远程分支拉倒本地,并建立关联关系track:

git checkout --track origin/jiangbo_dev
Branch jiangbo_dev set up to track remote branch jiangbo_dev from origin.

Switched  to a new branch 'jiangbo_dev'

Git 本地项目上传至托管平台(OsChina/GitHub)的更多相关文章

  1. git本地项目上传远程

    Git的安装就不说了. 原文:https://blog.csdn.net/zamamiro/article/details/70172900 github官网说明: …or create a new ...

  2. git——本地项目上传到git

    1.对于github相信大家写自动化代码的人都不陌生,而且这也可以说是你进军自动化的一项必须解锁的技能,今天抽空开始整理笔记,顺便整理下github的基本使用,从本地上传代码托管: 一.从无到有:先注 ...

  3. Git本地项目上传 & SourceTree & GitHub 简单使用

    Git(分布式版本控制系统) Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理 ...

  4. git本地项目上传至码云gitee

    如果你的本机是安装成功第一次使用,先配置一下一些基本的信息 $ git config--global user.name "Your Name" $ git config --gl ...

  5. git ——本地项目上传到git

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点 ...

  6. Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)

    不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...

  7. Git的使用--将本地项目上传到Github

    Git的使用--将本地项目上传到Github 感谢作者 --> 原文链接 很早之前就注册了Github,但对其使用一直懵懵懂懂,很不熟练.直到昨天做完百度前端技术学院的task,想把代码托管到G ...

  8. Git的使用-如何将本地项目上传到Github

    默认你的电脑上已经安装了git. 第一步:我们需要先创建一个本地的版本库(其实也就是一个文件夹). 你可以直接右击新建文件夹,也可以右击打开Git bash命令行窗口通过命令来创建. 现在我通过命令行 ...

  9. Git的使用--如何将本地项目上传到Github(三种简单、方便的方法)

    一.第一种方法: 1.首先你需要一个github账号,所以还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路(傻瓜式安装) ...

随机推荐

  1. iOS之UIScrollView循环滚动

    #import "ViewController.h" #define SCREEN_WIDTH [UIScreen mainScreen].bounds.size.width #d ...

  2. JAVA动态代理模式(从现实生活角度理解代码原理)

    所谓动态代理,即通过代理类:Proxy的代理,接口和实现类之间可以不直接发生联系,而可以在运行期(Runtime)实现动态关联. java动态代理主要是使用java.lang.reflect包中的两个 ...

  3. asp.netDataTable导出excel方法(1)

    先来写一段代码,这段代码也是我在网上找的,但是他那个原先有点问题,我对他那个进行了修改,现在这个代码是我修改改过的,应该没有问题的. public int StreamExport(System.Da ...

  4. [转]Android App整体架构设计的思考

    1. 架构设计的目的 对程序进行架构设计的原因,归根到底是为了提高生产力.通过设计使程序模块化,做到模块内部的高聚合和模块之间的低耦合.这样做的好处是使得程序在开发的过程中,开发人员只需要专注于一点, ...

  5. 深度技术GHOST WIN7系统32.64位j极速安装版 V2016年

    系统来自系统妈:http://www.xitongma.com 深度技术GHOST win7系统64位j极速安装版 V2016年3月 系统概述 深度技术ghost win7系统64位j极速安装版  版 ...

  6. iOS--UIAlertView与UIAlertController和UIAlertAction之间的事儿

      iOS 8的新特性之一就是让接口更有适应性.更灵活,因此许多视图控制器的实现方式发生了巨大的变化.全新的UIPresentationController在实现视图控制器间的过渡动画效果和自适应设备 ...

  7. Reveal1.5破解,iOS_UI调试利器Reveal最新版本破解方法

    Reveal1.0.7破解 1.官网下载最新版Reveal,拖动应用程序中,运行一次2.下载16进制编辑器"0xED" for mac(http://dl.vmall.com/c0 ...

  8. 笔记整理之BCP

    很多时候,需要批量的导数据,可能大家想到的第一反应就是右键数据库->任务->导入导出数据.但是其实微软自身提供的大容量导入导出工具,有bcp, bulkinsert 之类的也是很好用.今天 ...

  9. 常用ADC滤波处理

    #define N 70 XDATA WORD Value_buf[N]; XDATA DWORD ADCValue; static BYTE v_gu8cnt=0; static BYTE i=0; ...

  10. Centos7中所有的关机命令的奇怪现象

    今天在研究shutdown,reboot,halt,poweroff几种关机命令的区别是发现他们都是/bin/systemctl的软连接 ls -l /sbin/{shutdown,reboot,ha ...