git基础操作命令_第1页
git基础操作命令_第2页
git基础操作命令_第3页
git基础操作命令_第4页
git基础操作命令_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、git pull更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支git push将本地代码提交到服务器git log查看提交信息. git log -p 查看历次的log信息及更改情况. git log -p -4 查看距现在最近的4次的log信息及更改情况. git log frameworks/查看关于frameworks/目录修改相关的log信息. git log -stat 查看log显示文件修改情况. git log -stat packages/apps/Contacts/查看关于 package

2、s/apps/Contacts/目录修改相关的 log 显示的文件修改情况git status查看工作目录和代码仓库的改动情况,这个比较重要,可以查看你自己代码哪些需要上传,然后再去add commitgit diff查看工作目录和本地仓库的差异或者本地仓库各个版本的差异. git diff packages/apps/Contacts/AndoridManifest.xml查看工作目录中 AndoridManifest.xml 和本地仓库中 AndoridManifest.xml 的不同. git diff b46cae3b9a377bcd9cfc249a5778fce647feb961dc

3、94bf29aab18168e79d6496a89e47dba7a1d494查看这两个版本的不同(git diff history_oldhistory_current)git diff84d7c8bf6fde87316f693015d4a541a1adf037b3 b39cf58eea2f7733723ad90d104b83774136efa8 pa ckages/apps/Phone/src/com/android/phone/CallCard.java 查看两个版本之间针对特写文件的变化git commit提交当前修改内容. git commit file1 file2 -m log m

4、essage 提交 file1,file2 到本地仓库. git commit -a -m log message提交所有在Git索引中的改动,所以事先先用git status,看自己代码和服务器的对比有哪些改动,最好不用-agit add增加文件到Git索引. git add file3 file4将 file3,file4 加入到 Git 索引中git rm从Git索引移除文件. git rm file3 将file3从Git索引中删除git branch 对分支的增、删、查操作. git branch显示所有本地分支. git branch new_branch在当前版本创建一个名为ne

5、w_branch的分支. git branch -D new_branch 强制删除名为 new_branch 的分支git checkout 在不同的branch切换和还原文件. git checkout branch1 切换到 branch1 分支. git checkout /packages/apps/Contacts/AndroidManifest.xml 会将 AndroidManifest.xml 文件从上一次提交的版本更新回来,未提交的部分会全部回滚git reset将当前的工作目录完全回滚到指定的版本号. git reset -fixed 3204f2f0bdfd6ada86

6、c587b8927cdc5a15c586c1只更新索引,不更新工作目录,也就是说所有的本地文件都不会更新. git reset -soft 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1. git reset -hard 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1强制回滚到指定版本号,未提交的和此版本之后的更改全部删掉git mergea). git merge branch1 将branch1的改动合并到当前所在分支git patch. git format-patch -1打一个当前提交的补丁,也就是最后一次的提交改动

7、. git fromat-patch -1 6525c43add803bfee37cf5c1cb573ed8aecf529e打一个指定具体某一次的补丁. git format-patch -2 6525c43add803bfee37cf5c1cb573ed8aecf529e打基于指定具体某个版本的接连两次的补丁git reset HEAD表示回退刚刚的提交,git reset HEAD表示回退刚两次的提交,以此类推,补充一下git format-patch -1打印刚刚提交的一版的patch,相当于svn diffgit show查看当前提交的版本git show ffd98b291e0caa

8、6c33575c1ef465eae661ce40c9 查看指定版本的文件git show ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename 查看指定版本的某个文件git show 2010-Aug-12 查看指定 tag 的文件git remote show查看远程仓库的信息git remote show origin查看某个远程仓库的详细信息,比如要看所克隆的origin仓库git revert -n hashcode : git撤销某次历史提交;-n不加的话,相当于撤销后的树状态也提交了,加了-n只 是工作树回退了那次提交的内容,工作树处于

9、待提交状态git show 9f5202b77bdd33f885207b618b7b2a78b6671813 packages/apps/FM/src/com/hymost/fm/ui/FMRadio.java 查看特定版本特定文件的修改git diff 6af41d3 d67778 packages/apps/Music/2.patch这个非常有用,6af41d3比d67778 新,上句这样做的好处是可以产生从6af41d3到d67778的反向diff , 把这个反向diff写入2.patch,这样谁打了 2.patch,谁就等于作了一次6af41d3版本在对packages/apps/Mu

10、sic上所做修改的文本回退(如果该版本对这个目录的改动是有错的需要回退的,这是个 好办法).回退,千万少用revert和reset,这两个动作和危险,容易导致结点丢失.Changes to be committed:(use git reset HEAD . to unstage)/reset 力加-soft 会保持文件的 stage 状态,(to be committed, 这往往是被撤消的提交中的文件,stage中的文件的修改是diff不出来的),如果不加(默认:mixed)就会把所 有mark to be committed的文件全unstage掉,这时可以diff出来该文件的改动了#m

11、odified: packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java 不会被 diff 出来,#Changed but not updated:会被 diff 出来(use git add . to update what will be committed)(use git checkout - . to discard changes in working directory)#modified: frameworks/base/core/java/com/android/internal/app/Ringt

12、onePickerActivity.javamodified: frameworks/base/media/java/android/media/RingtoneManager.java#Untracked files:不会参与版本管理,除非用git add进来(use git add . to include in what will be committed)补充一下:reset -hard hashcode就是相当于check out掉所以从此hashcode之后的所有本地修改了,很 危险,慎用.revert hashcode1相当于reset -hard,不过它的指针不回退,反而是在当

13、前HEAD之上再加一个版本,而该 版本在文本上相当于hashcode1之前一个版本的文本内容,但这时候指针都没丢,反而还多了一个,这时候想 回过来有办法,就是reset -hard到HEAD就行了,一切都回来了,等于什么也没做过不过尽量不要用 revert.这已经是一个 deprecated 命令了.其实对于像1-2-3-4-5,这样的版本链上,如果2-3东西有问题,想回掉这部分修改,却不影响3后面的 修改,最好的办法就是不要通过指针来实现,而是通过本文修改来实现新增一个6版本,盖在5之上,我们只 要把2-3的patch拿过来,在当前5的基础上,打个反向patch就行:git apply -R

14、 2to3.patch,这时你的本地 代码从文本上就达到了你要想的结果,就是5的状态下把2-3的修改抹掉.不过打patch有一点要注意,我 们尽量不要把png等图片的patch放里头,这样会很慢,图片的二进制码很大.而且我们可以对patch进行 修改,回退我们想要回退的文件和修改.26问题:1-2-3-4-5(本地和服务器上都是这个状态)如果你想把package/app/Contacts从5这个结点的内容恢复 到2这个结点,但又想让HEAD指 针保持在5上,怎么做?(1)首先,git checkout 78350ad27ed3ad070bc0b5044ec594e70800aded(结点 2 的 hashcode) packages/apps/Contacts/此时,你git log看到的最新的commit结点会是:commit ba5ca90406bd6aaba3c54c46e9d143829b6a52fb结点 6Merge branch master of 192.168.10.104:repositories/7x27a-2045这句话到底做了件什么事呢,首先它把packages/apps/Contacts/的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论