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:在命令行直接输入: ...
随机推荐
- (15)MOG背景减少
1.根据上一帧找出变化的东西(如行走的人),消除背景,即不变的东西 motion detection 2.存在自身移动时的噪声和周围物体缓慢移动的噪声(这里播放的视频,我不断移动,背景可能有轻微的 ...
- 1010 过河卒 2002年NOIP全国联赛普及组codevs
1010 过河卒 2002年NOIP全国联赛普及组codevs 题目描述 Description 如图,A 点有一个过河卒,需要走到目标 B 点.卒行走规则:可以向下.或者向右.同时在棋盘上的任一点 ...
- Nginx 重写规则指南
作者:运维生存时间 - 默北 链接:www.ttlsa.com/nginx/nginx-rewriting-rules-guide/ 当运维遇到要重写情况时,往往是要程序员把重写规则写好后,发给你,你 ...
- bridge 上网
手头有一台机器上有一个虚拟机 虚拟机为桥接 本机为静态IP上网 想让虚拟机上网的方式是 本机不设ip 网卡设置DHCP. 虚拟机设置静态ip
- 1.4 - OSPF的运行模式⑦
帧中继的子接口选用原则: 1.在一个封装FR的物理接口上,可以同时承载多条PVC. 为了网络的可扩展性,建议不论在考试环境还是在工程环境中,都应该优先考虑使用子接口 2.应该创建几个子接口:在一个物理 ...
- android混合动画实现
在android开发,我们会常常使用到动画,可是简单的一种动画(如旋转.缩放.渐变.位移等)有时候并不能满足我们项目的要求,这时候就须要运用到混合动画.那么在安卓中是怎样实现一个炫酷的混合动画,以下是 ...
- Android面试题1
1.Android中intent的是? 答:实现界面间的切换,能够包括动作和动作数据.连接四大组件的纽带. 2.SAX解析xml文件的长处的是? 答:不用事先调入整个文档,占用资源少 3.在andro ...
- iOS UITextView 高度随文字自己主动添加,并尾随键盘移动(二)
上节地址:http://blog.csdn.net/lwjok2007/article/details/47401293 接着上节我们来实现 输入框自己主动调节高度 首先,我们得知道,要推断是否该换行 ...
- Getting console.log output with Selenium Python API bindings
持久化存储 Getting console.log output from Chrome with Selenium Python API bindings - Stack Overflow http ...
- javascript设置和获取cookie的方法
设置cookie的方法,和获取cookie的方法例如以下 设置cookie document.cookie="name="+value; //获取cookie当中index是coo ...