美文网首页我爱编程
版本控制工具--git以及多电脑使用同一github账号协同开发

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

作者: xingkong_hdc | 来源:发表于2018-04-11 11:32 被阅读0次

    版本控制工具–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

    相关文章

      网友评论

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

        本文链接:https://www.haomeiwen.com/subject/ageahftx.html