Git的使用及托管代码到GitHub
首先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的更多相关文章
- git上传项目代码到github
参考: git学习——上传项目代码到github github上传时出现error: src refspec master does not match any解决办法 git 上传本地文件到gith ...
- git 上传本地文件到github
git 上传本地文件到github 1 git config --global user.name "Your Real Name" 2 git config --global u ...
- git将本地项目添加到github远程仓库
1.首先准备好你的github 账号密码,注册就不说了.. 2.由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以要在本地生成一个私钥和一个密钥 命令: $ ssh-keygen ...
- 使用Git上传项目代码到github
github是一个基于Git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.这对于一般人来说公共仓库就已经足够了. 注册账户以及创建仓库 要想使用gi ...
- 【重要】使用Git命令行上传到GitHub上
[本人GitHub账号:] 用户名:chenhongshuang 密码:shuangshuang6300 邮箱:2452420371@qq.com 进入GitHub账号后 1·新建项目文件名称例dem ...
- 分布式版本库——Windows下Git的环境部署以及在GitHub上开源自己的项目
分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目 这几天着实忙的焦头烂额,可惜不是搞技术,今天周日,难得闲下来,写篇大家都想学习的Git教程,其实廖雪峰老师的网站已经 ...
- 使用git将项目上传到github
使用git将项目上传到github(最简单方法) 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下 ...
- git上传本地项目到github,方法2
第一步:去github上创建自己的Repository,创建页面如下图所示: 填写相应信息后点击create即可 Repository name: 仓库名称 Description(可选): 仓库描述 ...
- git下载、安装、连接github
0.下载git 官网下载速度慢,下载不下来阿里云下载地址:https://npm.taobao.org/mirrors/git-for-windows/ 1.安装git linux:在命令行直接输入: ...
随机推荐
- 学习MongoDB--(5-2):索引(查看索引的使用,管理索引)
前一篇简单介绍了索引,并给出了基本的索引使用,这一次,我们进一步说一下MongoDB中的索引,包括如何查看查询是否走索引,如何管理索引和地理空间索引等. [使用explain和hint] 前面讲高级查 ...
- 20170613NOIP模拟赛
共3道题目,时间3小时 题目非原创,仅限校内交流使用 题目名称 Graph Incr Permutation 文件名 graph incr permutation 输入文件 graph.in incr ...
- mongodb分片集搭建
拓扑图如下: 从图中可以看到有四个组件:mongos.config server.shard.replica set. mongos,数据库集群请求的入口,所有的请求都通过mongos进行协调,不需要 ...
- socket短连接、长连接
通常短连接是这样:连接->传输数据->关闭连接那什么是长连接?一般长连接相对短连接而言的,长连接在传输结束后不关闭连接,而不断的发送包保持连接等待处理下一个数据包. 一般长连接用于少数cl ...
- ZOJ 3201
id=15737" target="_blank">Tree of Tree Time Limit: 1000MS Memory Limit: 32768KB ...
- leetcode_Product of Array Except Self
描写叙述: Given an array of n integers where n > 1, nums, return an array output such that output[i] ...
- WingIDE 5.0注冊机
在wingIDE下开发python很方便,但IDE不是免费的,网上有破解的方法.请支持正版. 把下列文件CalcActivationCode.py载入到wingIDE中.LicenseID能够随便给一 ...
- VFL语言简洁
一.VFL语言简洁 VFL(Visual format language)语言是苹果为了简化手写Autolayout代码所创建的专门负责编写约束的代码.为我们简化了许多代码量. 二.使用步骤 使用步骤 ...
- 斯坦福《机器学习》Lesson8感想-------1、SMO
从上一篇文章可知支持向量(supervector)就是指的离分隔超平面近期的那些点.整个SVM最须要的步骤是训练分类器.得到alpha,从而得到整个用于数据分类的分隔超平面.支持向量机(super v ...
- 暴力解hdu4930Fighting the Landlords
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> us ...