您的位置:首页 > 其它

git 命令总结

2015-09-08 10:53 302 查看
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 退出数据库查询
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: