首先Git是一个开源的分布式版本控制工具,用git创建代码仓库。
  仓库(Repository)是用于保存版本管理所需信息的地方,本地代码 提交到 代码仓库中,如果需要还可以 再推送到 远程仓库中。

所有操作在Gitbash中进行
1、配置身份:
    git config --global user.name "coco"
    git config --global user.email "870420215@qq.com"
  查看配置,用同样的命令,不加最后的名字和邮箱地址。

2、给项目创建代码仓库:
  进入项目的目录下,输入git init
  在项目的根目录下生成一个隐藏的.git文件夹,这个文件夹就是记录本地所有的git操作的,可以通过 ls -al 命令来查看。
  想要删除本地仓库,删除这个文件夹就可以。

3、提交本地代码:
  提交代码先add添加,在commit提交。
  添加build.gradle文件:git add build.gradle
  添加app目录:       git add app
  添加所有文件:      git add .

  进行提交:git commit -m "First commit"
  commit命令后面,一定要通过-m参数来加上提交的描述信息,否则不合法。

4、忽略文件:
  as创建项目的时候在根目录和app模块下生成两个.gitignore文件,文件中的内容都不会添加到版本控制当中。
  可以对这两个文件进行修改,来忽略我们指定的文件。
  比如,忽略app模块下所有测试文件,那么在app/.gitignore中添加:
    /src/test
    /src/androidTest
  这样就可以了。正常提交代码就行。

5、查看修改内容:
  查看文件修改情况,在项目根目录下输入命令:
    git status
  会提醒我们哪个文件发生了更改。

  查看更改内容:
    git diff
  这样可以查看到 所有文件 的更改内容。
  查看某个文件的更改内容,在后面加上从根目录下级目录开始的地址:
    git diff app/src/main/java/com/.../***.java

6、撤销未提交的修改:
  文件尚未add:
    撤销某个文件中的修改,使用checkout命令:
      git checkout app/src/main/java/com/.../***.java
    对该文件所做的一切修改,都被撤销。

  文件已经add:
    要先取消对文件的add,使用reset命令:
      git reset HEAD app/src/main/java/com/.../***.java
    取消add之后,再使用checkout命令即可。

7、查看提交记录:
  git log 查看历史提交信息。
  提交记录包含 提交id、提交人、提交日期、提交描述 4个信息。

  查看其中一条记录,在命令中指定记录的id,加上-1,表示只看一行记录:
    git log 1sa41sdfwe54sdfsadf231adc -1
  查看该记录具体内容:
    git log 1sa41sdfwe54sdfsadf231adc -1 -p

8、分支的用法:
  查看当前版本库中 有哪些分支:
    git branch
  创建分支:
    git branch version1.0
  这样就创建了一个名为version1.0的分支。

  我查看分支的时候,发现其中一个分支前有“*”号,说明当前我们的代码还在这个分支上。使用checkout命令切换到version1.0分支上。
    git checkout version1.0

  分支之间提交修改代码互不影响。version1.0修改的bug,合并到master分支上,使用merge命令:
    git checkout master
    git merge version1.0

  当我们不需要version1.0分支时,可以删掉分支:
    git branch -D version1.0

9、与远程版本库协作:
  将远程版本库代码下载到本地:
    git clone https://github.com/cococbx/LittleHuiHui-sWeather.git

  把本地修改的内容同步到远程版本库:
    git push origin master
  其中origin是远程版本库的Git地址,master是同步到哪个分支上。

  把远程版本库上的修改同步到本地:(两种做法)
  1.fetch
    git fetch origin master
  执行这个命令之后,会同步代码到本地,不过并没有合并到任何分支上,而是存放到一个origin/master分支上,通过diff命令查看版本库修改了什么:
    git diff origin/master
  之后调用merge命令将origin/master分支上的修改合并到主分支是即可。
    git merge origin/master

  2.pull
    git pull origin master
  pull命令相当于将fetch和merge两个命令放在一起执行,从版本库拉取代码并合并到本地。

10、将代码托管到GitHub上:
  在github上start a project,来创建一个版本库。
  给版本库命名,然后选择添加一个android项目类型的.gitignore文件,并使用Apache License 2.0来作为项目的开源协议。记得勾选README选项。

  创建完版本库之后,新建一个android项目,将远程版本库克隆到本地:
  在工程目录下:
    git clone https://github.com/cococbx/LittleHuiHui-sWeather.git
  就将版本库中内容clone到LittleHuiHui-sWeather文件夹中了。现在将这个目录中的所有文件复制到上一层项目根目录中,这样就能把整个项目添加到版本控制中去。(要注意.git是一个隐藏目录,不要漏掉,上一层中也                  有.gitignore文件,替换即可)之后把LittleHuiHui-sWeather目录删掉。

  最后把项目提交到GitHub上面:
  1.将文件添加到版本控制中
    git add .
  2.本地提交代码
    git commit -m "first commit"
  3.将提交内容同步到远程版本库(GitHub)
    git push origin master

这样就同步完成了。刷新github上的项目主页就可以看到提交的内容。

Git的使用及托管代码到GitHub的更多相关文章

  1. git上传项目代码到github

    参考: git学习——上传项目代码到github github上传时出现error: src refspec master does not match any解决办法 git 上传本地文件到gith ...

  2. git 上传本地文件到github

    git 上传本地文件到github 1 git config --global user.name "Your Real Name" 2 git config --global u ...

  3. git将本地项目添加到github远程仓库

    1.首先准备好你的github 账号密码,注册就不说了.. 2.由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥 命令: $ ssh-keygen ...

  4. 使用Git上传项目代码到github

    github是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说公共仓库就已经足够了.   注册账户以及创建仓库 要想使用gi ...

  5. 【重要】使用Git命令行上传到GitHub上

    [本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...

  6. 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目

    分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经 ...

  7. 使用git将项目上传到github

    使用git将项目上传到github(最简单方法)   首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下 ...

  8. git上传本地项目到github,方法2

    第一步:去github上创建自己的Repository,创建页面如下图所示: 填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述 ...

  9. git下载、安装、连接github

    0.下载git 官网下载速度慢,下载不下来阿里云下载地址:https://npm.taobao.org/mirrors/git-for-windows/ 1.安装git linux:在命令行直接输入: ...

随机推荐

  1. Codeforces Round #226 (Div. 2) C题

    数论好题 题目要求:求给定序列的素因子如果在给定区间内该数字个数加1; 思路:打表时求出包含给素数因子的数的个数,详见代码 1 #include<cstring> +;      scan ...

  2. 20180725关于quartz的初识

    请参照: https://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/ https://www.w3cschool.cn/quartz_ ...

  3. HUD——1286 找新朋友

    思路: 裸的欧拉函数 代码: #include<cstdio> #include<cstring> #include<cstdlib> #include<io ...

  4. 洛谷 P2853 [USACO06DEC]牛的野餐Cow Picnic

    P2853 [USACO06DEC]牛的野餐Cow Picnic 题目描述 The cows are having a picnic! Each of Farmer John's K (1 ≤ K ≤ ...

  5. Ubuntu 16.04使用NASM编译时用ld链接程序出现:i386 架构于输入文件 sandbox.o 与 i386:x86-64 输出不兼容(I386 architecture in the input file sandbox.o is not compatible with i386: x86-64 output)

    错误: 问题解决过程: 1.先确定CPU的架构 2.这是以64位架构的CPU,如果使用elf参数时,默认是以32位模式去处理,那么此时需要更精确的去指定这个模式,比如elf32(32位),elf64( ...

  6. oracle 12c show con_name

    今天安装了一个oracle 12c的数据库做测试,在运行一个很简单的命令时出错了: SQL> show con_name concat "." (hex 2e) SP2: u ...

  7. Android: 帮助找出内存泄漏的工具

    1. Intellij Idea的Memory Monitor 通过Memory Monitor,我们可以知道哪个页面哪些操作会占用比较多的内存.如果需要更详细的信息,可以导出heap,通过MAT来分 ...

  8. 【CV论文阅读】YOLO:Unified, Real-Time Object Detection

    YOLO的一大特点就是快,在处理上可以达到完全的实时.原因在于它整个检测方法非常的简洁,使用回归的方法,直接在原图上进行目标检测与定位. 多任务检测: 网络把目标检测与定位统一到一个深度网络中,而且可 ...

  9. 常见的各品牌路由器默认IP地址汇总清单

    常见的各品牌路由器默认IP地址汇总清单 下面是各常见品牌路由器的默认IP清单: 如果您使用的设备品牌不在上述列表中,也可以试着访问下RouterIPAddress.com或SetupRouter.co ...

  10. 新浪微博开放平台之OAuth2.0认证

    1.先到开放平台创建一个移动应用.获得key和secret,接着到"应用信息"里面填写授权回调页的网址,该网址能够随意,可是必须是能訪问的. 2.通过新浪提供的api:https: ...