git代码修改后相关文件打包

文摘 Linux Ubuntu 2020-01-3 阅读:9117

git.jpg


  • 差异文件打包
git diff --name-only | xargs zip usb11_uvc.zip
  • 两次提交差异文件打包
git diff 608e120 4abe32e --name-only | xargs zip update.zip
  • 最后一次提交文件打包
git show --name-only | xargs zip last.zip

Repo 相关

  • Repo 遍历某用户所有提交

repo forall -p -c git log --author=126.com > 126_commit.txt
  • 1、怎样在代码文件夹下所有git库都建立分支?
repo start --all <分支名>
  • 2、怎样删除代码文件夹下所有git库的分支?
repo abandon <分支名>
  • 3、怎样知道代码文件夹下都改动了那些?
repo diff
  • 4、怎样把我的提交上传的gerrit上?
repo upload
  • 5、不想同步所有代码,只想同步一部分?
repo sync ......
  • 6、repo upload以后后悔了,需要再修改一些?
在原有分支上修改文件
git commit --amend 
repo upload --replace <工程名>
出现文件以后去掉第1行的#,中括号里面填上 change-id
  • 设置远程仓库(repo remote)
repo remote addd remoteName url
如:
repo remote add org ssh://172.16.1.31/git_repo
  • 如何更改已签出项目的清单?
repo init -m master.xml
repo sync
  • 如何创建固定清单?
repo manifest -r -o pinned.xml
  • 仅从本地checkout出来代码,不从远程fetch
repo sync --local-only
  • 回退所有project 到指定日期
repo forall -c 'commitID=`git log --before "2021-05-10 07:00" -1 --pretty=format:"%H"`; git reset --hard $commitID'
  • repo 查看最近两天的修改记录
repo forall -p -c git log --since=2.days
  • repo 小技巧

1采用repo 方式,那么多git,怎么知道一次更新了哪些?

repo forall -c 'git fetch rk'

repo forall -c 'pwd; git log HEAD..remotes/m/android-4.4'

2 怎样直观的看到改了哪些文件?

repo forall -c 'pwd; git log --stat HEAD..remotes/m/android-4.4'

3 很久没有更新,怎样查看更新内容,合并需要的内容?

初略看下一段时间内的提交数,可以

.repo/repo/repo forall -c "git log --since=2013-09-11"

看这个会以某个时间起始点去查看

4 如果是一个git,我用git log; (查看当前) git pull (更新); git log (查看最新) 就

能看到更新了哪些?

对应的操作是:

.repo/repo/repo manifest -r -o xxx-version.xml(保存当前版本信息)

.repo/repo/repo sync -n (相当于git fetch)

.repo/repo/repo forall -p -c "git log HEAD..remotes/m/android-4.4" (相当于git log)

.repo/repo/repo sync (相当于git fetch && git merge 或 git merge )

5 查看A 版本和B 版本的差异?

前提是要备份当时版本的manifest.xml,要有A 和B 的xml

.repo/repo/repo manifest -r -o xxx-version.xml(保存当前版本信息)

通过如下命令,可以比较版本间的差异

cp A.xml .repo/manifest.xml

.repo/repo/repo sync -l

.repo/repo/repo forall -p -c "git tag A"

cp B.xml .repo/manifest.xml

.repo/repo/repo sync -l

.repo/repo/repo forall -p -c "git tag B"

.repo/repo/repo forall -p -c "git diff A B"


0条评论

© 2021 芯缘异码. Powered by Typecho