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:在命令行直接输入: ...
随机推荐
- Leetcode 80.删除重复数组的重复项
删除重复数组的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间 ...
- UVA - 10870 UVA - 10870
Problem ARecurrencesInput: standard inputOutput: standard output Consider recurrent functions of the ...
- [K/3Cloud]如何解决kdpkg无法部署到业务站点的问题
自从下载了sp1后,就迫不急待的试用下,看看反馈的几个关键bug是否修复,可惜sp1安装后发现业务站点下的组件一个都没有被更新,这指定是有问题了,这真是让哥百思不得其解,真后悔在研发时没仔细研究下部署 ...
- ubuntu 16.04网卡找不到eth0
自15版本开始就不叫eth0.可以通过ifconfig进行查看: ifconfig -a 其中enp3s0才是网卡的名称,lo为环路. 参考: http://blog.csdn.net/christn ...
- MySQL Workbench查看和修改表字段的Comment值
查看: 选择单个表->[右键]->[Table Inspector] 再选择Columns选项卡即可,把表格拉倒最后一列. 编辑: 选择单个表->[右键]->[Alter Ta ...
- 30、Java并发性和多线程-阿姆达尔定律
以下内容转自http://ifeve.com/amdahls-law/: 阿姆达尔定律可以用来计算处理器平行运算之后效率提升的能力.阿姆达尔定律因Gene Amdal 在1967年提出这个定律而得名. ...
- mybatis mapper文件sql语句传入hashmap参数
1.怎样在mybatis mapper文件sql语句传入hashmap参数? 答:直接这样写map就可以 <select id="selectTeacher" paramet ...
- MySQL: Create Master - Slave Servers
http://www.unixmen.com/setup-mariadb-master-slave-replication-in-centos-7/ and http://www.rackspace. ...
- Solid Edge如何估算零件的质量,重心等物理性质
点击检查-物理性质,勾选"显示符号"即可显示质心和形心(先点击更新,更新每个零件的密度). 最后得到质心和形心
- mysql中间件amoeba实现mysql读写分离
Amoeba是一个以MySQL为底层数据存储,并相应用提供MySQL协议接口的proxy.它集中地响应应用的请求,根据用户事先设置的规则.将SQL请求发送到特定的数据库上运行.基于此能够实现负载均衡. ...