Android

个人Android学习总结


1、Git的使用

<pre><code>Git的使用 git的核心思维: 1.git是一套内容寻址的系统。(根据快照所产生的校验和也就是Id来查找对应的代码) 2. 更像是把数据看作是对小型文件系统的一组快照。(只要提交了并改变了文件就会产生快照) git 的三个仓库 1.工作目录(eclipse 工作目录) 2.暂存区(git add 进去的缓存) 3.本地仓库(HEAD 这是当前分支版本顶端的别名,这是当前分支版本顶端的别名) ● git add files 把当前文件放入暂存区域。 ● git commit 给暂存区域生成快照并提交。 ● git checkout -- files 把文件从暂存区域复制到工作目录,用来丢弃本地修改。 ● git reset -- files 用来撤销最后一次git add files,你也可以用git reset 撤销所有暂存区域文件。 git 提交代码的正常流程和简单使用方法: 第一步:git status (查看当前状态,有哪些文件的改变) 第二步:git add --file(把当前文件放入暂存区域) 第三步:git commit --file (给暂存区域生成快照并提交)/需要注意的是,第一次提交后,如果再次提交需要 使用 --amend 进行追加。如: git commit src/ res/ --amend /** 如果再次提交忘了加 --amend 进行追加,可以用 git reset --soft 快照ID (请看后面 reset的用法 ) 第四步:git log (用来查看提交的内容) 查看更详细的信息 git reflog 里面是你每次提交过的都会有一份快照,方便你无限reset 第五步:git fetch (从远程服务器端获取最新版本到本地,不会自动与本地代码merge(git pull = git fetch + git merge)) 第六步: git rebase origin/分支名 (合并上一步获取的最新代码,相当于merge)(用于把一个分支的修改合并到当前分支 先将获取的最新代码checkout出来,作为工作目录 然后将master分支从远程所创建起的所有改变的补丁,依次打上。如果打补丁的过程没问题,rebase就搞定了 如果打补丁的时候出现了问题,就会提示你处理冲突。处理好了,先git add -u ,然后运行git rebase –continue继续直到完成) 第七步:git stash (根据提示,缓存代码,方便恢复代码。如果有这一步,需在这次操作完成后,再次上一步操作也就是git rebase origin/分支名) 第八步:git push origin HEAD:refs/for/分支名 第九步:git branch name(分支名) 创建一个新的本地仓库分支 / git branch 查看分支 第十步:git checkout name(分支名) 从当前分支(master) 切换到指定的分支:name(分支名) 切换之前必须要保证当前分支的工作目录的代码已提交或者以保存才能正常切换。 第十一步:git merge name(分支名) 把指定的分支: name(分支名) 和并到当前分支中 git log ,git diff ,git show 的区别 git log 查看git commit 提交的信息 git diff 查看 工作目录和缓存区的区别,或者历史提交文件的对比 git show 打印出来的就是针对文件的所有的改动历史, reset 用法 reset有3种方式: 1. git reset –mixed:此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息(--mixed是reset的默认参数,也就是当你不指定任何参数时的参数。它将重置HEAD到另外一个commit,并且重置index以便和HEAD比配,但是也到此为止。working copy不会被更改。所以所有从original HEAD到你重置到的那个commit之间的所有变更仍然保存在working copy中,被标示为已变更,但是并未staged的状态) 2. git reset –soft:回退到某个版本,只回退了commit的信息,不会恢复到index file缓存区和不会改变当前工作目录的内容。如果还要提交,直接commit即可(--soft参数告诉Git重置HEAD到另外一个commit,但也到此为止。如果你指定--soft参数,Git将停止在那里而什么也不会根本变化。这意味着index,working copy都不会做任何变化,所有的在original HEAD和你重置到的那个commit之间的所有变更集仍然在stage(index)区域中。) 3. git reset –hard:彻底回退到某个版本,本地的源码也会变为上一个版本的内容。(缓存区和 当前工作目录全部会修改)(--hard参数将会blow out everything.它将重置HEAD返回到另外一个commit(取决于~12的参数),重置index以便反映HEAD的变化,并且重置working copy也使得其完全匹配起来。这是一个比较危险的动作,具有破坏性,数据因此可能会丢失!如果真是发生了数据丢失又希望找回来,那么只有使用:git reflog命令了)</code></pre>

页面列表

ITEM_HTML