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

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

前言:

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

一.git的使用

1.git的安装

1.windows上安装git
从Git官网下载一个Git安装包,官网地址为:http://git-scm.com/downloads
选择windows版本的git安装包下载。开始安装一路next就可以了。

UcYnT51.png

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


3slxm6T.png

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

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


image

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


yg6pXPG.png
2.创建仓库

1.windows上创建仓库
进入工作目录如h:\gitdemos\gittest,右键然后点击Git Bash Here,出现下图:


image

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


NqvbkSu.png

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


wWXfzhb.png

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


4YjSKvn.png
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上,具体如下图:


image

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


T38FYmS.png

如果没有.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上创建仓库


sJIQhMm.png

输入仓库名字,然后点击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配置成功。


image

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


image

下面配置.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操作。


image

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

总结:

git和github没有必然的联系,git是版本控制工具,没有github也可以使用。github是远程服务器,由于git是分布式版本控制工具,所以可以在github上创建一个仓库,作为一个”中心库”,便于协同开发。如有问题欢迎提问。博客:https://blog.csdn.net/xingkong_hdc/article/details/79484518

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,602评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,442评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,878评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,306评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,330评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,071评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,382评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,006评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,512评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,965评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,094评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,732评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,283评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,286评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,512评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,536评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,828评论 2 345

推荐阅读更多精彩内容

  • 1. 安装 Github 查看是否安装git: $ git config --global user.name "...
    Albert_Sun阅读 13,632评论 9 163
  • Git常用语法 [TOC] Git简介 描述 ​ Git(读音为/gɪt/。)是一个开源的分布式版本控制系统,...
    君惜丶阅读 3,497评论 0 13
  • 昨天在车站候车时,读完了沈复《浮生六记》的前三卷。前两卷《闺房记乐》和《闲情记趣》让人读罢意犹未尽,心想古代女子竟...
    白晨19阅读 280评论 0 1
  • 2017.10.01 星期日 昨晚上酒喝多了,不知道是怎么进到房间里面去的,半夜醒来一次下楼找水喝,大家都在客厅...
    清风腾逸阅读 589评论 0 49
  • 警铃想起的早上 看不见往日楼下的灯 昏暗的视线里 是模糊了双眼的光 伸出臂膀有点触手不及 原以为菜地的公鸡还为报晓...
    赛德克目目阅读 223评论 0 0