git操作

一、基础

git branch: 查看本地代码分支

git branch -r: 查看远程仓库分支
git checkout master: 切换到master分支
git status: 查看本地分支状态,如果有修改会显示修改的文件
git diff:比较修改过的文件与源代码差异
git add src/code/……: 添加要提交的代码路径,git add --all或者git add . 全部提交,慎用
git commit -m "注释": 本地提交,注意:git commit和svn commit的概念不同,svn是直接put到远程仓库,git是在本地提交,可以多次commit后,一次push到远程
git push origin master:将本地代码提交到远程仓库master分支
git pull:从远程仓库更新代码到本地并合并,fetch + merge

git fetch:从远程仓库更新代码到本地


十七:
取消之前的add   :git reset HEAD


十八:
git checkout -f (放弃本地修改如本地删除,从远程同步代码)


十九:
Linux系统,代码克隆下来后,大家一般会做下 chmod 755 -R code/Code_LTE  或  chmod 777 -R code/Code_LTE
这时,你再执行git status 会发现一片红啊!
这是由于文件权限属性发生了变化,通常我们只关心文本内容,因此chmod产生的变化应该忽略,可以设置
git config core.fileMode false




git status 
git add a.java
git commit -m "tijiao"
git pull
git push 


二十:
提交代码时文件路径中跳过中文字符,提示路径不存在时
在命令行中执行:git config –-global core.quotepath false
就可以识别中文路径了




提交补丁清单;修改中移核查工具中北向模型文件;提交中移核查工具补丁;增加package-update-info.xml文件


二十一:
查看某个文件提交历史:git log --pretty=oneline 文件名  (会显示出提交的哈希值和信息)


然后使用 git show 某次提交的哈希值  显示某次提交的修改




二十二、工作中经常会发生改了一部分代码,此时需要


1.出补丁


2.编个包


3.改个紧急EC


等,,,


类似的需求,


理论上,用git本地/特性分支开发不会有这种问题。但是,很多人还是习惯在单分支开发,在单分支开发我们可以这么做:


1)git stash //缓存当前改动


2)出补丁,编个包,改个紧急EC


3)git stash pop //恢复改动代码


你可能还会用到,


git stash save "改个紧急EC"
git stash list  //显示所有的代码缓存






git stash apply stash@{1} 就可以将你指定版本号为stash@{1}的工作取出来 


git stash clear’将栈清空 




二十三、arc diff 如何忽略已经tracked 的文件如:build.gradle文件进行评审提交(http://dev.zte.com.cn/topic/#/17806)
方法有如下两种:
(一)第一种方法(推荐,一劳永逸)


若该文件属于Untracked Files,则可通过配置到.gitignore或exclude里进行过滤来解决。


若该文件属于tracked Files,如我们现在提到的build.gradle文件在版本库中已经存在,则需要执行
git update-index --assume-unchanged build.gradle命令来忽略。
注:若解决过程中出现类似fatal: Unable to mark file build.gradle错误,可参考http://dev.zte.com.cn/topic/view/17802进行解决。
(二)第二种方法(不推荐,每次都要执行):
先执行git stash 命令;
arc diff提交结束后,再执行git stash pop命令,还原刚才打包的工作现场。


二十四、Git新建本地分支与远程分支关联
git branch --set-upstream debug origin/debug


如:git branch --set-upstream R16.20_bugfix origin/bugfix/V12.16.20


二十五、git各种回退操作


1.改乱了工作区某个文件的内容,想直接丢弃工作区的修改时
撤消修改 - 将它还原成上次提交或add时的样子
git checkout -- 路径
2.取消暂存的文件
git reset HEAD 路径
3.重新提交
git commit --amend
4.撤销提交(未push)
git reset --hard commitId
5.撤销提交(已经push)
git revert commitId反转提交(回滚版本)


二十六、本地新建分支
git checkout -b b57Bugfix origin/V12.15.10B57_bugfix


git branch




二十七、部分代码的管控
git read-tree -mu HEAD




二十八、删除本地分支
git branch -d xxxxx

你可能感兴趣的:(git,git)