3、提交注意事项
每一个新clone的库第一次提交都需要执行以下步骤(下载服务端钩子到本地库,以便提
交评审形成chang-id)
scp -p -P 29418 your-account-name @192.168.31.10:hooks/commit-msg .git/hooks/
git config remote.origin.push refs/heads/*:refs/for/*
当执行完以上步骤,第一次git push依然会产生missing Change-Id错误, 用git commit --amend命令把错误信息中的changed id进行添加,如下图
本地工作库中,以最后一次成功push为节点,如果超过两条commit信息也会产生此错误
合并多条commit为一条记录,可以用git reset 后跟要回退到最新push成功的版本号,整合多条记录为一条
如产生uppack error和changed closed,建议保存工作库中修改文件,并进行强制回退、重新同步最新代码,以修复工作库index。 git reset –hard xxx
同步项目代码的时候会产生冲突
首先可以先隐藏本地修改的 git stash 同步代码 git pull
恢复刚被隐藏的修改 git stash pop
有冲突进行修改编辑,并进行添加(add)到暂存区后,进行项目开发
4、git具体命令解析
从远端服务器获取本地分支最新版本,任何时候进行开发,请确保工作库为最新状态,这样才能避免与其他开发人员进行冲突 git pull
添加文件或修改文件后将文件添加到暂存区 git add file-name
删除文件后将文件添加到暂存区(整个文件夹删除添加-r参数)
git rm file-name
提交所有暂存区修改到本地库,必须添加提交日志作为以后参考 git commit -m ―commit massage‖
补提交(当一个patch已经push到gerrit但还没有merged,可以进行不提交修改commit massage信息) git commit –amend 进行编辑
查看当前本地和服务端所有分支,*号代表当前工作分支 git branch–a
随时查看工作库状态
git status(添加参数–s为精简模式) 修改后差异输出 git diff
提交日志随时查询 git log
将本地最新分支推送到gerrit准备评审
git push origin HEAD:refs/for/xxx (xxx代表分支名) 清理工作库空间,删除不受控的所有文件 git clean –df
基于当前分支的本地最新状态新建并切换本地分支 git checkout -b new_branch
合并分支(将target_branch合并到本地): git merge target_branch
重整分支版本或合并多条提交记录为一条 git rebase base_branch
重置命令是git最常用的命令,也是最危险最容易误用的命令,使用如下图 git reset xxx (回退log至某个commit值,但是期间的修改得到保留,增加参数—hard回退所有记录和修改文件)