版本控制工具——Git

来源:互联网 发布:移动宽带网络设置 编辑:程序博客网 时间:2024/04/30 05:12

转载请注明出处:http://blog.csdn.net/xroocky/article/details/50783480
官方指南:http://git-scm.com/book/zh/v2

Git的使用以前学过一些,但是由于长时间不用,而且上次学的时候并没有整理,现在都忘得差不多了。。。最近在做一个项目,经常是做着做着突然发现有个问题不知道是什么时候出现的,去找问题的根源吧,又无从下手。比如,这个项目中用到了DrawerLayout,不知道什么时候开始的滑动时Drawer反应很迟钝,怀疑是Drawer里面放置的view影响了滑动效果,尝试把Drawer里面的view清空,依然没有效果……这个时候才想到Git的好啊。

Git基础用法

  1. 配置身份

    git config --global user.name "Uesrname"git config --global user.email "Uesrname@example.com"
  2. 创建仓库

    cd C:/Demogit init
  3. 提交本地代码
    add后面的.可以换成文件名或目录名,表示提交相应的文件或目录,.表示提交项目的所有文件(不包括忽略的文件)

    git add .git commit -m "提交描述"
  4. 忽略文件
    现在Android Studio生成的项目会自动添加.gitignore文件,所有无需手动配置。

  5. 查看修改
    如果代码修改后未提交,Git会以红色的字显示出修改过的文件,如果修改后已经add但没有commit,Git会以绿色的字显示。

    git status
    git diff    //查看修改的具体内容,可在“diff”后加文件名
  6. 撤销修改
    如果修改后的代码还没有add

    git checkout app/src/main/res/layout/activity_main.xml  //如果文件被删除也可以通过这种方法恢复

    如果修改后已经add

    git reset HEAD app/src/main/res/layout/activity_main.xml    //撤销添加git checkout -- app/src/main/res/layout/activity_main.xml  //撤销修改
  7. 查看记录

    git log     //查看提交记录,记录是分页显示的,使用Enter键来滚屏git log id(前7位即可) -1 -p       //查看具体修改
    git reflog      //操作记录

    还可以为查看记录设置条件,具体可以在官网查看

  8. 版本回退

    git reset --hard id(前7位)
  9. 分支操作

    git branch –a      //查看当前所有分支git branch version1.0       //创建分支“version1.0” git branch -D version1.0    //删除分支“version1.0” git checkout version1.0     //切换至分支“version1.0” 
    git checkout mastergit merge version1.0        //合并分支,经测试仅限修改内容,如果在master分支中删除了某文件,无法从其他分支合并过来。。。

Git远程仓库

下面用到的URLHTTPSSSH两种形式,HTTPShttps://github.com/xroocky/Demo.git,SSHgit@github.com:xroocky/Demo.git,使用SSH关联的好处是以后push代码时不用每次都输github账号密码,使用SSH的方法后面会讲

本地仓库方法

  1. 进入项目路径

    cd C:/Demo
  2. 创建本地仓库

    git init
  3. 创建README

    echo "# Test" >> README.md
  4. 提交本地代码

    git add .git commit -m "提交描述"
  5. 关联远程仓库

    git remote add <shortname> <url>
  6. push远程仓库

    git push -u origin master

远程仓库方法(推荐)

  1. Github上先新建一个仓库
  2. 克隆远程仓库

    git clone <url>
  3. 将克隆下来的仓库拷贝到项目根目录
  4. 提交本地代码

    git add .git commit -m "提交描述"
  5. push远程仓库

    git push -u origin master

使用SSH协议

github上的教程在这里

  1. 检查电脑是否有SSH KEY

    ls -al ~/.ssh

    默认情况下公钥的名称会是一下几种情况之一

    id_dsa.pub
    id_ecdsa.pub
    id_ed25519.pub
    id_rsa.pub

    如果有公钥和私钥的话可以直接把SSH KEY添加到SSH客户端,如果没有或不想使用已有的可以生成新的SSH KEY

  2. 生成SSH KEY

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    然后会提示:

    Enter a file in which to save the key (/Users/you/.ssh/id_rsa):

    输入一个文件来保存key,这里我直接回车使用默认的文件,接着会提示输入两次密码,然后KEY就生成了。

  3. 添加SSH KEY到SSH客户端
    如果你使用的是Git Bash,那么使用:

    eval "$(ssh-agent -s)"

    来确保SSH客户端是可用的,如果你使用的是Git for Windows,那么使用:

    eval $(ssh-agent -s)

    然后将SSH KEY添加到SSH客户端

    ssh-add ~/.ssh/id_rsa
  4. 在Github账号添加SHH KEY
    复制SSH KEY

    clip < ~/.ssh/id_rsa.pub

    登录github账号,点击右上角的头像,选择Setting,在左侧列表中找到SSH Keys,把key粘贴进去就可以了

  5. 测试连接

    ssh -T git@github.com

    会提示你输入yes/no,输入yes之后如果可以看到下面的提示说明连接成功

    Hi username! You’ve successfully authenticated, but GitHub does not
    provide shell access.

1 0
原创粉丝点击