之前写的一篇文章可能写的有点乱,如下:对Git 操作的一些见解_xxdw1992的博客-CSDN博客
现在按实际开发中通过Git提交代码总结出来的一些经验
一.git branch
二.checkout
本地分支重新关联远程分支
git branch --set-upstream-to=你要重新关联的分支
git branch --set-upstream-to=origin/sit-basic-v1.0.1
个人提交代码的流程
git status 查看目前项目状态,是否有修改(作用查看修改的文件列表)
git diff 查看代码修改哪些 q退出查看的界面
git remote -v 查看远程库信息(主要目的是查看远程是否配对成功)
git branch -a 查看所有分支
* (HEAD detached from ad8f813)
remotes/gerrit/master
remotes/gerrit/r-AX-3522-M10-baseline
remotes/gerrit/r-AX-3522-M10-ori
remotes/gerrit/r-qcom-m10-baseline
remotes/gerrit/r-qcom-m10-dev
remotes/gerrit/r-qcom-m10-dev-sfn
remotes/gerrit/r-qcom-m10-dvt
remotes/gerrit/r-qcom-m10-dvt-tmp
remotes/gerrit/r-qcom-m10-dvt1-3-RF
remotes/gerrit/r-qcom-m10-dvt2
remotes/gerrit/r-qcom-m10-dvt2-dev
remotes/gerrit/r-qcom-m10-smt
remotes/gerrit/r-qcom-m10-tmp
remotes/gerrit/r-qcom-m10-tmp2
remotes/gerrit/r-qcom-m10-xts
remotes/m/master -> gerrit/r-qcom-m10-dvt2-dev
git checkout r-qcom-m10-dvt2-dev 切换到某个分支
repo sync -c . 更新最新代码
git commit 进入编辑界面并添加注释,ctrl+x退出编辑 git commit --amend追加提交
git add . 将所有修改添加到暂存区
git push gerrit HEAD:refs/for/r-qcom-m10-dvt2-dev 上传代码
xx HEAD:refs/for/yy是固定写法
xx 通过git remote确定
yy(r-qcom-m10-dvt2-dev)上面查到所在的分支
使用git时显示untracked files(未监控)解决办法
git status 时除了显示自己修改的文件,还多了两个文件,显示如下:untracked files:
(use "git add <file>..." to include in what will be commited)
bash.exe.stackdump
sh.exe.stackdump
解决办法:删除git库中untracked files(未监控)的文件
以下为原文:
在编译git库拉下来的代码时,往往会产生一些中间文件,这些文件我们根本不需要,尤其是在成产环节做预编译,检查代码提交是否能编译通过这种case时,我们往往需要编译完成后不管正确与否,还原现场,以方便下次sync代码时不受上一次的编译影响。
其他
git log --author=longchengbin(看某一特定作者的提交的时候,名不一定是全匹配,只要包含那个子串就会匹配)
git log --grep=text (按提交信息来过滤提交)
git log --name-only(列出修改过的文件) --name-status(列出修改过的文件和修改状态)
vim ~/.gitconfig 查看config信息
git checkout . 还原当前分支修改的文件(放弃所有的文件修改)
git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录
git log --stat 查看每一次commit,都有哪些文件发生了改变
如果你只想大致看一下改动内容,但并不想深入每一行的细节(例如你想回顾一下自己是在哪个 commit 中修改了 games.txt 文件),那么可以把选项换成 --stat
git log -p 文件 查找某个文件每笔代码提交的差异
log -p 可以看到每一个 commit 的每一行改动,所以很适合用于代码 review。
git show <hashcode>(commit的ID) <filename>(具体的某个文件) 查看某个文件在某次提交中的修改
git log --pretty=oneline <filename> 查看仅这个文件的所有记录
git diff hash1 hash2 --stat 查看两个版本的差异
git reflog show --date=iso <branch name>
→ 查看分支的创建时间