您的位置:首页 > 编程语言

版本控制工具--git以及多电脑使用同一github账号协同开发

2018-03-08 14:59 896 查看
版本控制工具–git,以及多电脑使用同一github账号协同开发

前言:

版本控制工具是开发中必不可少的,常见的以及常使用的版本控制工具有git和svn。git是典型的分布式版本控制工具,不需要网络也可以提交代码,即每个设备都是一个仓库。svn是典型的集中式版本控制工具,即需要一个中心仓库,其他设备提交代码需要网络连接上中心仓库。两种版本控制工具各有利弊以及适合其使用的环境。

一.git的使用

1.git的安装

1.windows上安装git

从Git官网下载一个Git安装包,官网地址为:http://git-scm.com/downloads

选择windows版本的git安装包下载。开始安装一路next就可以了。



安装完成后,找到工作目录(h:\gitdemos)右键点击出现如下图:



其中有Git GUI Here和Git Bash Here说明安装完成了。

2.ubuntu上安装git

有的ubuntu系统是自带git的(ubuntu16.04),可以在终端控制台输入git –version,如果出现下面提示说明没有安装。



在控制台使用sudo apt-get install git,输入密码就可以安装了。安装完成后在控制输入git –version如图说明安装完成,版本号为2.7.4:



2.创建仓库

1.windows上创建仓库

进入工作目录如h:\gitdemos\gittest,右键然后点击Git Bash Here,出现下图:



输入git init 将当前目录初始化为git仓库,会在文件目录下生成.git文件夹。



在当前目录下创建新文件hello.java,终端输入git add hello.java添加文件,输入git commit hello.java -m “add hello.java”提交文件。



2.ubuntu上创建仓库

在ubuntu上创建仓库和windows上差不多,进入工作目录,在终端输入git init初始化仓库,创建文件并提交,如下图:



3.git的常用命令

git init//创建仓库

git add gitlearn.txt//保存暂存区

git commit gitlearn.txt -m “crate file gitlearn.txt”//提交git 默认分支master

git log //提交记录

git reset –hard HEAD^ //回退上个版本

git reset –hard 9789676//回退指定版本

git reflog //记录每次的git命令

git status//查看git状态

git diff HEAD – gitlearn.txt//查看工作区与版本库区别

git checkout – gitlearn.txt//丢弃工作区的修改 未add时,实质用版本库里的版本替换工作区的版本

git reset HEAD gitlearn.txt//已经add后,暂存区修改撤销

git rm test.txt//删除文件,再提交

git remote add origin git@github.com:账号名/项目名.git//关联远程库,名字origin

git push origin master//将master分支push到远程仓库

git clone git@github.com:账号名/项目名.git//克隆远程仓库到本地库

git checkout -b dev//创建分支dev

git branch//查看分支

git checkout master//切换回master分支

git merge dev//合并分支

git branch -d dev//删除分支

git merge –no-ff -m “merge with no-ff” dev//冲突合并

git stash//保存工作现场

git stash list//查看工作现场

git stash pop//恢复并删除现场的备份

git stash apply stash@{0}//恢复指定现场

git remote -v//查看远程库信息

git push origin master//向远程库提交分支master,也可以提交dev

git checkout -b dev origin/dev//拉取远程库的dev分支到本地

git branch –set-upstream dev origin/dev//抓取前要本地分支与远程分支关联

git pull//抓起远程库最新后才能提交

4.多台电脑使用同一github账号协同开发

比如我有两台电脑一台公司的工作电脑,一台是自己的笔记本,有开发项目需要再公司和回家都能开发,所以就使用github服务器来协同开发(github有私有库和开源库,请选择使用)。

1.注册github账号,具体注册流程请看官网或百度。

2.因为github使用SSH认证的,所有每台电脑都要在github上添加SSH的公钥。

首先查看电脑上有没有SSH.

(1)windows上依次进入c:—>用户(user) –>用户名。在当前目录查看有没有.ssh目录,如果有进入.ssh,查看有没有id_rsa和id_rsa.pub,如果有则打开id_rsa.pub,复制内容设置到github的SSH and GPS keys上,具体如下图:



点击Settings进入设置页面,点击SSH and GPS keys,再点击右上角New SSH Key将id_rsa.pub里面的值复制进去,确定即可。



如果没有.ssh ,则打开命令行输入以下命令:ssh-keygen -t rsa -C “email”,其中email为自己的邮箱地址。就会在c:\用户\用户名.ssh,中生成id_rsa和id_rsa.pub。然后将id_rsa.pub,复制内容设置到github的SSH and GPS keys上。

(2)ubuntu的SSH设置方法类似的,在/home/用户目录下查找SSH,没有就ssh-keygen -t rsa -C “email”,生成并添加到github上。

3.将本地项目关联到github上

如果本地已经有一个创建好的仓库需要关联到github上,首先在github上创建仓库



输入仓库名字,然后点击Create repository。即在github上创建了一个仓库,这是仓库是空的,然后进入本地git仓库使用git命令:git remote add origin git@github.com:账号名/项目名.git 这样就将本地项目与github关联,然后执行git命令:git push -u origin master即将本地仓库推送至github的master分支。

4.使用Android studio关联git及github

配置git:打开Android studio,点击 File –> Settings –>Version Control –> Git,如图配置Git的安装路径,SSH使用native,分支master即可。点击test按钮,弹出下面的框Successfully,说明git配置成功。



配置github:打开Android studio,点击 File –> Settings –>Version Control –> Github,如图输入Host:github.com,用户名,密码,Auth Type为Password,配置好点击test,弹出下面的框successful说明配置成功。



下面配置.gitignore文件将不需要上传git的文件添加进去,一般配置:

module的gitignore的配置:

*.apk

*.ap_

*.dex

*.class

bin/

gen/

out/

.gradle/

build/

local.properties

proguard/

*.log

.navigation/

captures/

*.iml

.idea/workspace.xml

.idea/libraries

*.jks

工程的gitignore的配置:

*.iml

.gradle

/local.properties

/.idea/workspace.xml

/.idea/libraries

.DS_Store

/build

/captures

.externalNativeBuild

配置好之后点击相关按钮进行pull和push操作。



只要一台电脑将项目push到github上,其他电脑只要执行git命令:git clone git@github.com:账号名/项目名.git 。将github上的项目克隆到本地,然后由于其他电脑的SSH公钥也已经配置到github上了,所以可以修改代码然后push到github上,这样就实现了多要电脑使用同一github账号协同开发。

总结:

git和github没有必然的联系,git
4000
是版本控制工具,没有github也可以使用。github是远程服务器,由于git是分布式版本控制工具,所以可以在github上创建一个仓库,作为一个”中心库”,便于协同开发。如有问题欢迎提问。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐