×

AS中Git与GitHub的使用入门

96
口袋易佰
2016.10.13 15:06* 字数 1286

转载至-----AS中Git与GitHub的使用入门 - Ralap Zhong的专栏 - 博客频道 - CSDN.NET


一直想把自己的写的开源小项目放到github中,这两天才花时间来学学Git。遇到些问题,百度了很多才解决。跟SVN一样,值得写一篇总结记录下,虽然上资源很多,但作为入门,自己遇到的写出来完全不一样。

一、 Git与GitHub的简单介绍

Git是一个开源的分布式版本控制工具。

GitHub是一个使用Git作为版本控制的项目托管平台,它是一个网站。

详细请参考:http://www.cnblogs.com/cocowool/archive/2012/02/17/2356125.html

二、 Git的安装

下载地址:https://git-scm.com/download/winhttps://git-for-windows.github.io/

安装时,全部默认选择即可。

三、 AS中配置Git与GitHub

1. Git的配置

在Settings设置中。

Path to Git executable: 【Git安装后的路径】

然后“Test”测试一下,成功才可以。

2. GitHub的配置

Host: github.com

Login: 【你的github用户名】

Password: 【github登录密码】

填好后,也进行“Test”测试一下,同样成功才可以。

测试完后按确定,会提示你是否设置密码,看个人需求。

四、 上传代码到GitHub

1. 创建GitHub仓库

在Github上创建一个仓库:

创建好后,将是这个样子,里面包括一个.gitignore忽略配置文件和一个README.md

git地址如下:

2. 创建Git本地仓库

选择工程 —— VCS —— ……

此时,VCS的5个图标显示出来了,且要提交的文件名都是暗红色

3. 把工程add添加到仓库

选择工程 —— 右键 —— Git —— Add

Add后待提交的文件名是绿色

4. commit提交

CommitMessage:填入提交说明信息。主要用于说明你做了哪些修改。

按Commit提交即可。

注:我每次都无法提交,commit后,进度对话框走到一半就立马消失了。解决办法见下面常见问题的“无法commit”。

提交后的文件颜色是灰白色。修改过的文件时淡蓝色

5. push推送到GitHub

Commit后会自动弹出Push推送窗口,点“Define remote”。

Name:默认origin

URL:就是github的网页地址,上面已提供获取方法

上面的界面操作,等同于Git Bash中使用命令:

git remote add origin https://github.com/zjun615/GitHubTest.git

然后“OK”再“Push”

注:我这里的Push也会出问题,见下面的解决方法

刷新github后,就能看到上传的工程文件:

五、 常见问题

1. 无法commit

因为会检查代码,就算没有错误,只有警告它也会让你无法提交。不会像单个文件的提交一样,提示你选择Review还是继续commit。所以就取消提交页面的“Perform code analysis”选项

2. 无法push推送

现象:

Push的时候,弹出错误信息:Push rejected,Push to origin/master was rejected

控制台输出的详细错误信息:

原因:

通过上述错误信息,告诉我们github中有我们本地没有的文件,需要先pull。在VCS —— Git —— Pull

Pull也会报错:Git Pull Failed,fatal: refusing to merge unrelated histories

也就是说直接pull也是不行的。并提示拒绝合并两个不相关的仓库

解决办法:

打开Git Bush。本地资源管理器的工程目录下,右键——Git Bush Here。或直接打开Git Bash,然后用cd命令打开工程目录。

输入命令:git pull origin master –allow-unrelated-histories

表示允许不相关的仓库合并。

此时,你可以看到工程中多了两个github中的两个文件

其中.gitignore文件是还没有添加的,需要添加然后提交。

添加命令:git add .gitignore

提交命令:git commit

添加后提交,会弹出提交的提示信息:

这里是VIM文本编辑器让你提交。操作命令:

进入到输入状态:按i键

从输入状态退出:Esc键 —— Shift+;键 —— wq!(保存并退出)或q!(不保存退出) —— Enter

最后使用提交,命令:git push –u origin master

上面信息代表上传成功,去github看看就知道了。

此问题困扰了我很久才解决,最主要的就是这条命令:

git pull origin master –allow-unrelated-histories

其他的命令都可以在界面上操作。

参考:http://stackoverflow.com/questions/37937984/git-refusing-to-merge-unrelated-histories

3. 取消工程与Git的关联

在本地项目工程下有一个.git文件夹,删除即可。

android笔记
Web note ad 1