GIT常用命令汇总

  1. 导出最后一次提交修改过的文件
我一直在使用这个命令定期进行发送给其他人进行审查/整合。这条命令将把近期提交的修改过的文件导出到一个zip文件。
1
git archive -o …/updated.zip HEAD $(git diff --name-only HEAD^)
  1. 导出两次提交之间修改过的文件
    同样,如果你需要导出两次提交之间修改过的文件,你可以用这一个。1
    git archive -o …/latest.zip NEW_COMMIT_ID_HERE $(git diff --name-only OLD_COMMIT_ID_HERE NEW_COMMIT_ID_HERE)
3,git add 添加 多余文件
这样的错误是由于, 有的时候 可能
git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件
git add 如果添加了错误的文件的话
撤销操作
git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.java 就是对某个文件进行撤销了
4,在git push的时候,有时候我们会想办法撤销git commit的内容
a,找到之前提交的git commit的id
git log
找到想要撤销的id
b,、git reset –hard id
完成撤销,同时将代码恢复到前一commit_id 对应的版本
c、git reset id
成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改
5,为验证某个版本提交的错误,重新合并补丁,在本地新建分支5510_test测试,可容如下方法:
git branch 5510_test b4c62eec761d59e5f6edd4a616c47549cf42f2a1(出问题的前一个版本)
然后切到该分支
6,查询本地提交是否上传到远程服务器的命令:git cherry -v
显示结果类似于这样:
  • b6568326134dc7d55073b289b07c4b3d64eff2e7 add default charset for table items_has_images
  • 4cba858e87752363bd1ee8309c0048beef076c60 move Savant3 class into www/includes/class/
7,查询某个log,用关键字的方法:
git log --grep=“adding”
8,如何查看其它分支的修改记录:
a,git br -avv查找其它分支的路径
b,git log xxxx(其他分支在a中显示的名字)
c,git show xxxx(其他分支在a中显示的名字) xxxx(其它分支中的版本号)
9,Git的缺省提示,比如查找某人的修改记录
git log --a(按Tab 键会补全为作者的名字author)==xxx(作者名)
10, 查看本次提交的具体文件,命令如下:
git show b582cbc9d1eefcf43d6fef2e7c30e8cb4a1e6256 --stat
上传GIT空仓库的步骤如下:
  1. git clone git@git:rootfile/filename.git
    如果仓库中已经有软件,只是下载代码,只需要这一步就可以了
    2 cd filename
  2. mv your_codings ./
    此步骤最主要的目的是把程序拷到本地库的文件中,上面是filename这个文件中,直接COPY也可以,例如code放在/5/release/,前面的~表示是本地目录:
    mv ~/5/release/ ./
  3. git add -A
    我使用的指令是git add release 把整个公版程序全部add
    5 git ci -m “init”
    6 git push -u origin master:master
    7,通过命令
    git status --ignored
    没有任何文件显示了
    表示本地代码无遗漏都进了版本库了!
    不用担心, 只要git fetch后, git status 是ok的就好了
    遇到MTK放出来的代码含有git的,在有源代码的目录,上传时要做处理:
    当在本地新clone下来的目录下,需要1和3,否则只需要第2步就可以了
  4. mv .git …
    2.find -name “.git*” -exec rm -fr {} ;
  5. mv …/.git .
    4然后在 git status
    常规的文件删除,一般用这个命令:
    rm -fr release
2,切换分支的方法:
git checkout XXXX
查看分支的方法:
git br或者用git br -avv
git log XXXX分支路径,可以看到当前分支的最新版本的COMMON ID.
3,合补丁的步骤:
切换到对应的分支
先pull,然后git reset --hard common ID(当前提交到服务器最新的ID)
git clean -xdf 清楚所有缓存的文件
合完后,git add -f . (注意f后面要空格加一点)
提交补丁git ci -m “”
公版软件编译命令:bld5659 new,编译通过后,可以直接push,或者等验证后再push
注意事项:
md5sum的文件不需要合,这个和软件中的APK有关,我们的APK和公版的不一样,合了会报错
4,从其他分支上拉此提交补丁的方法:
a,先切换到对应的分支
b,git cherry-pick xxx_id(补丁的commod_id)
c,git push,推送到远程服务器
5,从服务器拉补丁的方法:
git@172.20.0.12:MTK/RT-MT5659.git
进入RT-MT5659然后输入下面的命令:
git submodule init && git submodule update
【GIT常用命令汇总】6,查看当前分支在服务器的路径:
git remote -v

    推荐阅读