您的位置:首页 > 移动开发 > Android开发

在AndroidStudio中使用Git和GitHub

2015-06-19 15:24 489 查看
环境: win7, Android Studio 1.2.1.1

首先本地电脑要安装好msysGit,它里面自带了Git Bash命令行工具

Android Studio(简称AS) 默认集成了Git插件和GitHub插件,我们直接开始下面的步骤:

1. 打开AS, 配置Git.exe安装路径

File -> Setting -> Version Control -> Git



注意:这里是Git\cmd\git.exe 是cmd目录下的git.exe,安装完msysGit 后安装目录其实有两个git.exe, 一个是在 bin目录下,一个是在cmd目录,这里我们设置cmd目录下的git.exe ( 我不知道为什么是指定此目录下的git.exe )

点击 Test 测试一下, OK 即可。

2. 这里假设你已经用AS打开了一个项目,且你的项目是从远程仓库clone过来的

Eg:

git clone git@bitbucket.org:paul/myproject.git


用AS 打开此项目的时候,AS检测到有.git目录,会自动将Path to Git executable设置成当前Git的命令行路径。

注: 从远程仓库克隆过来的,那么当前仓库就有了远程仓库,默认名是origin,后面我们可以不用添加远程仓库了:

git remote add [remote-name] 

OK 之后 它会在当前工程目录创建仓库,相当于执行了 git init 命令

4. 为Git 添加远程仓库

如果项目不是git clone 过来的,那我们可以添加远程仓库

Android Studio 没有为我们提供GUI 来添加远程仓库,只有通过Git Bash 命令行来执行命令:

$ Git remote add [remote-name] [url]


添加了远程仓库,这样在AS 中我们Push 的时候 就会Push到远程仓库

5. 通过AS 从远程仓库克隆项目到本地

* 1) 从其它Git服务器上克隆Git项目 *

VCS -> Checkout from Version Control -> Git



注意:以上的Git Repository URL

git@bitbucket.org:username/xxxxx.git 其中的username, xxxxx 要以实际情况为准,而且该URL是 ssh协议的,事先要在bitbucket.org配置SSH, bitbucket.org仓库URL默认访问格式是 [url=https://username@bitbucket.org/username/xxxxx.git]https://username@bitbucket.org/username/xxxxx.git" target=_blank>[/code]

3. 如果你的项目还没有生成.git目录

就是说还没有通过git init生成本地仓库,那么我们可以通过AS初始化git项目(git init)

VCS -> Enable Version Control Integration 选择Git



OK 之后 它会在当前工程目录创建仓库,相当于执行了 git init 命令

4. 为Git 添加远程仓库

如果项目不是git clone 过来的,那我们可以添加远程仓库

Android Studio 没有为我们提供GUI 来添加远程仓库,只有通过Git Bash 命令行来执行命令:

$ Git remote add [remote-name] [url]


添加了远程仓库,这样在AS 中我们Push 的时候 就会Push到远程仓库

5. 通过AS 从远程仓库克隆项目到本地

* 1) 从其它Git服务器上克隆Git项目 *

VCS -> Checkout from Version Control -> Git



注意:以上的Git Repository URL

git@bitbucket.org:username/xxxxx.git 其中的username, xxxxx 要以实际情况为准,而且该URL是 ssh协议的,事先要在bitbucket.org配置SSH, bitbucket.org仓库URL默认访问格式是 [url=https://username@bitbucket.org/username/xxxxx.git]https://username@bitbucket.org/username/xxxxx.git


2) 从Github 上克隆Git项目

VCS -> Checkout from Version Control -> GitHub

如果AS之前没有配置登录的信息,那么会跳出登录窗口



我们也可以在Settings -> Version Control -> GitHub 配置



一旦克隆完一个仓库,那么此仓库的远程仓库相当于也就有了,远程仓库名默认名是 origin,在Git Bash命令下切换到git工程目录下,可以通过如下命令,查看远程仓库:

$ git remote –v


如果没有任何内容那说明还没远程仓库,那边本地的此仓库可能是通过git init 创建的,而不是git clone

6. AS 提交代码

选中要提交的文件或文件夹

(1) VCS -> Git -> Add

(2) VCS -> Git -> Commit Changes



在提交的时候 如果选择commit (默认是commit) 那只是把代码提交到了本地仓库,如果你想commit的同时将代码推送到远程仓库,那么可以选择 Commit and push 就可以直接push到服务器。

如果你之前的提交都只是commit ,那么后面想推送到远程仓库端,你可以

VCS -> Git -> Push

7. AS 回滚已经commit的代码(revert commit)

VCS ->Git -> Repository -> Reset HEAD



git reset [--soft | --mixed] [-N] | --hard] HEAD~X    X:代表次数


soft 仅仅撤销commit而已,不影响本地的文件,也不影响(index)缓存区的任何文件

hard 不仅撤销commit内容,还将本地的文件指向你commit前的版本,同时index也会指向commit前的版本

在AS上面进行的Git操作,实际相当于执行了Git命令, 我们可以直接通过GitBash ,cd到工程目录, 执行对应的git命令即可。

拉取数据Fetch , 只是拉取数据到本地,不合并。

Pull 拉取数据到本地同时进行合并

我们在推代码的时候 一般要先拉取最新代码,在此基础上修改完成后,再推到远程仓库的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: