git 命令总结

来源:互联网 发布:js get和post的区别 编辑:程序博客网 时间:2024/06/14 20:32
git status
git branch
git add .
git commit -as
git status
git log
git commit --amend
git branch
git branch bak-0720
cp ./pad_src_v2/miui/browser/support/app/AbsWebTabActivity.java ~/
cp ./pad_src_v2/miui/browser/support/app/AbsWebTabActivity.java ~/


git checkout v6-pad-dev
git status
git pull
//在新的代码上开发
git status
git diff
git status
mm -B
git add .//将修改的类提交到暂存区
git status
git commit -as//将暂存区代码提交到git库
自定义起始页不生效(中间空一行)
bug号yY
ctrl+x enter
git log //查看提交提示git
repo upload//上传修改

git commit -a --amend 发现格式和代码有错误时 可以修改   但必须是当前的最后一个commit
gitk   代码提交历史
git branch -r     查看远程所有分支

git reset --hard HEAD~4   //删除后面4个修改 缓存区和工作副本全部删除
git pull --rebase   //更新

git fetch ssh://......   fetch_head   //从服务器上把某个文件拉下来
git log
git upload

//回到某一个版本
第一步:git log找到commit的版本号(commit id)
第二步:git reset --hard 版本号         //回到某个版本  之后的修改全被删除

如果commit之后发现有些文件不能修改:

1. git reset --soft  head^   // 回滚一个commit状态,回到add之后那里,新的改变仍然在缓冲区和工作副本中,

                                               然后可以checkout文件  重新提交

2. git  checkout  a.xml      // 将文件a.xml还原

假设你想要回滚你的项目到多个提交之前,但是想要保存没有提交的改变,尝试下面的:

$ git reset --soft   3ce072c72d948abfa

当然,替换为你自己需要的 hash。–soft flag 将保存你的改变在工作目录和缓存区。

换句话来说,最新的提交将会是你选择的提交。


git checkout 也可以进行回滚撤销工作。git reset 回滚整个提交,而 git checkout 可以回滚单个文件,回滚在缓存区内的文件:


$ git checkout -- file.ext

git checkout a.xml

git diff 如下:

git diff a.xml 查看某个文件的改变

如果想要比较最新提交和缓存区内的文件,使用 –cached flag。
$ git diff --cached
$ git diff --cached index.html

比较工作目录和一个提交,使用想要比较的提交的指针,代替上例中的 –cached flag。

$ git diff be96dbeab1
$ git diff HEAD^2 index.html    //HEAD^2是之前的一个提交

也可以使用 git diff 比较分支。将两个分支名作为参数,两个分支名中间为两个 “.”:

$ git diff master..otherBranch


git stash用法如下:

有一个有趣的情景:假设你正在编写新特性,但是发现代码中有 bug。而这个bug 与新特性无关,你想要 fix 这个 bug 再继续开发新特性。但是如何处理为新特性写的代码的改变?这里就是 git stash 的用武之地!

git stash 就像是临时提交。当你想要隐藏一些改变,首先将这些改变加入缓存区,再运行下面的:

$ git stash

在主分区,保存工作目录和索引状态 (index state):

HEAD is now at 3d0b0a4 other commit

你会得到一个跟上面很相似的信息,告诉你在特定分支正在进行的工作已经保存。

当你提交过 bug-fix 之后,你可以从 stash 中取出之前的改变。

$ git stash apply

这样会将 stash 中的内容放回缓存区,同时会得到一个很象 git status 的信息。

你可以进行多次 stash,使用 list 命令查看所有的 stashes:

$ git status list stash@{0}: On master: started form on contact list stash@{1}: On master: README changes

在这个例子中,有两个 stashed 项。但是看到了清晰的 stash message 了嘛?如果需要 stash 多次,描述信息会让你清楚你的项目状态。使用 save 命令来添加 stash message:

$ git stash save “message here”

如果想要将特定 stash 放入缓存区,使用 stash 序号名称,在 list 命令看到的每行开头的信息;如果是将上例中 README 文件放入缓存中,运行如下命令:

$ git stash apply stash@{1}

如下合并的过程———— get cherry-pick 的用法。
git checkout for-upload

git branch lll     // 备份分支for-upload

git reset --hard 58ff62db9be771f92bfe61dda3cdaaa10b0809b8  // 在for-upload上回到之前的某一个版本
git checkout lll 
git log       //查看之前提交的commit号
git checkout for-upload
根据lll分支中的commit号   
git cherry-pick 0382a180b05b87d5983ab2b6dd58d3cd75f5e3e3      讲删除之后的所有提交合并到分支for-upload中
repo upload .  // 提交


git rebase

用下面两幅图解释会比较清楚一些,rebase命令执行后,实际上是将分支点从C移到了G,这样分支也就具有了从C到G的功能



adb logcat | grep jiangjh  //查看日志


查看数据库
adb shell
cd data/data   //进入android文件系统
ls
cd com.android.browser //进入浏览器目录
ls
sqlite3 x.db     //打开数据库
.table    //显示所有表
select * from table;

.quit    退出数据库查询



0 0
原创粉丝点击