Android Git简易教程

查看篇

  • 查看git仓库的提交记录:git log
  • 参数说明:
    • git log --oneline 单行显示git log信息
    • git log --decorate 修饰性的显示,主要是可以查看分支信息
    • 注意:git logcommit fbac9424348189e46175316396d7659f726157ed的commit后的前六位是当前log的标志,用于定位,如果需要回滚,可以使用这个标志位。

添加篇

  • 添加修改的部分到本地仓库:git add *
    • 注意:“*”表示全部添加,一般使用的是下面的git add .
  • 依据.gitignore过滤规则添加:git add .
    • 注意:“.”表示的是当前目录下依照.gitignore来添加。
    • .gitignore配置生效请看配置篇。
  • 提交修改的部分到本地仓库:git commit -m "文字信息"
    • 注意:“文字信息”指的是当前提交版本的信息
  • 提交到远程git仓库:git push origin master
  • 强制提交到远程git仓库:git push -f [origin master]
    • 只有在回滾的时候用到,注意没事不要乱用,会强制覆盖掉远程仓库的东西的。
    • 注意:[]表示可选,默认是origin master

撤销篇

  • 撤销当前git add:git reset HEAD .
  • 回滾一个版本git reset --hard HEAD^
    • 注意:一个“”表示回退一个版本,如果要回退两个版本就用“^”
    • 注意:回滾了之后找不回来原来的版本,除非必要,否则不要随便使用。
  • 放弃当前所有的更改git checkout .
    • 注意:后面是“.”;当文件没有被提交commit过的时候,git checkout .是没有用的。

更新篇

  • 更新其他人提交的代码【自动合并,没有merge信息,推荐!】
    • git pull --rebase
  • 远程服务器本地端拉取更新
    • git fetch [origin master]
      • 注意:拉取到本地,这个时候并没有开始合并工作
    • git pull [origin master]
      • 注意:这里是合并工作,可能会出现Merge conflict…的错误……可以使用git mergetool解决,请看**配置篇——git冲突合并**博文。
  • 使用远程分支覆盖本地分支
    • git fetch --all
    • git reset --hard origin/master

暂存篇

  • 将本地的修改的代码提交到暂存区:git stash
    • 注意:何时使用?如果你不想要commit,但是想要git pull,可以使用这个命令,将本地修改的代码先暂存到暂存区。
  • 将暂存区中的代码取出来:git stash pop
    • 注意:取出来的时候可能会出现Merge conflict…的错误,可以使用git mergetool解决。
  • 将暂存区中的内容清空:git stash clear

注意:如果不知道为什么要用git stash,可以看我的博文——commit your changes or stash them before you can merge.

配置篇

  • 重新配置.gitignore,请见我另一篇博文:.gitignore规则不生效的解决办法
    • 就是当你配置完.gitignore却发现配置一直不生效的时候,可以看看这篇博文的解决方案。
  • git冲突合并请见我的博文:git 冲突合并
    • 主要是用于拉取远程仓库的源码冲突的时候使用。
  • Android Studio 工程.GitIgnore应该忽略的文件

常见错误

  • git [packet_write_wait connection to xx.xx.xx.xx Broken pipe]解决办法
    • 被墙了……
  • Bad owner or permissions on .ssh/config 的解决
    • 当我们在自己的服务器上搭建Git远程仓库,并让本地关联到远程仓库的时候,我们需要写一个config来让本地可以关联到非80端口的远程仓库。
  • fatal: unable to access ‘https://github.com/gmarik/Vundle.vim.git/’: Could not resolve host: github.
    • 这个问题一般出现在使用非github的域名的时候就会出现,需要配置一个重定向的配置文件。
  • git出现 fatal: remote origin already exists.
    • 出现这个问题,表示你这个仓库你之前添加过远程仓库,可以使用

附录

  • 更加系统的请见大神的博客——廖雪峰的官方网站——Git教程
  • [Git高级教程(二)] 远程仓库版本回退方法

你可能感兴趣的:(Git,Andorid,Exploration)