分支管理:
git branch 查看本地所有分支
git branch -a 查看所有的分支
git branch -r 查看远程所有分支
git branch new_branch 创建新的分支
git branch -d 删除本地的分支
git checkout Linux_6700 切换到Linux_6700分支
git checkout sp_part.c 更新单个文件(会覆盖修改的内容):
查看文件状态:
git status (有时在根路径下面不会全部把文件差异显示出来,需要进到目录里面去看)
git status -uno 可以只列出所有已经被git管理的且被修改但没提交的文件
git查看远程仓库地址命令
git remote -v
对比文件修改差异:
git diff
git diff --cached 查看暂存起来的文件差异
还原到某个版本(用于版本追查)
git reset --hard 97b6b57cc82a3c05e1a450b270ef66a7e267c902
git reset --hard HEAD 还原到最初版本
还原文件到某个版本(用于版本追查)
git reset 1792373c9e9791ba96dd1967741f9b65adf87404 draminit_1N_4Gb.bin
此时不会更改,然后再
git checkout draminit_1N_4Gb.bin
显示
modified: draminit_1N_4Gb.bin
按照时间回溯版本:
repo forall -p -c 'git reset --hard $(git log --before="2016-10-01 23:59:59" -1 --pretty=format:"%H")'
查看某个文件的log:
git log -n 选择显示前N条
git log --stat 显示简要的增改行数统计,每次提交文件的变更统计
git log --pretty=oneline 一行显示,只显示哈希值和提交说明。
git log -u --pretty=oneline /home/yb.wang/6700/openplatform/sdk/middleware/V4L2_4in1_module/CreateVideoDevNode.c
git log 文件 这个文件的所有提交日志
git log URL 这个URL开始显示
指定日期、关键字、作者:
git log --since=2.days 两天前的提交历史:
git log --author=BeginMan 指定作者为"BeginMan"的所有提交
git log --grep=init 指定关键字为“init”的所有提交(关键字只能是提交者写到日志信息)
git log --committer=Jack 指定提交者为"Jack"的所有提交
注意作者与提交者的关系:作者是程序的修改者,提交者是代码提交人。
如指定2天前,作者为“BeginMan”的提交含有关键字'init'的前2条记录:
$ git log --since=2.days --author=BeginMan --grep=init -2
注意:上面选项后面的参数可以带单双引号,如--author="BeginMan"
更新代码:
git pull 更新
git push 提交到服务器
repo sync 全部更新(更新代码时需更新kernel/ openplatform/ thirdlib/(thirdlib_build/必须更新) )
合并差异merge:
u-boot.bin文件差异:
git add u-boot.bin
git commit u-boot.bin 此时不用写日志信息,会有默认填写信息。
然后提交
暂存当前的修改代码:
git stash save "名称" 暂存当前的修改代码
git stash show stash@{n} 查看
git stash pop 取出
git stash list 列表
git stash clear 清除全部
git stash drop 清除某个
git cherry-pick将某个分支上的某次commit合并到当前分支上。
撤销公共修改
git revert <commit>撤销某次commit。撤销后代码还原之前状态,提交的代码会丢失,需要进行备份后再撤销。
撤销本地修改
git reset
git clean
重写git历史记录
git commit -amend
git rebase
git reflog
提交代码
git commit -m "日志"
git commit 进去填写日志,然后:wq保存退出/Ctrl+x,Y,Ctrl+m
填写日志信息:
[KERNEL][LCD] 1024*600
[Mantis ID] N/A
[Bug Desc] N/A
[Modify Desc] support 1024*600 LCD
[Test Case or Method] tested ok
[Compile] OK [Coverity] N/A [Selftest] OK
[GPL-licensed or Third-party Source] N/A