Git 详解

之前写的一篇文章可能写的有点乱,如下:对Git 操作的一些见解_xxdw1992的博客-CSDN博客

现在按实际开发中通过Git提交代码总结出来的一些经验

一.git branch

链接: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>   → 查看分支的创建时间

Repo相关

Repo详解_ChampionDragon的博客-CSDN博客_repo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值