常用的Git命令
来源:互联网 发布:程序员年薪百万 编辑:程序博客网 时间:2024/06/04 19:45
1.分支相关的命令
git branch test ##新建一个本地的test分支
git checkout test ##切换到test分支
git branch -a ##显示本地的所有分支
git branch -d test ##删除test分支
2.更新代码
2.1 git pull origin develop/master ##获取库上develop/master分支上的最新代码,再进行merge操作
该命令相当于:
git fetch origin develop ##从远端develop分支获取最新代码
git merge origin/develop ##将本地修改和远端代码进行merge操作
该操作的缺点:常常由于不恰当的merge,导致没有change id,从而使得下次的提交失败。这时候的解决方法如下:
git reset --soft 没有change id的那次提交的哈希值 ##使cmd id回退到该版本
git commit --amend ##再提交一次,使其产生change id
再进行如下的提交操作
git add . ##提交本文件夹下的所有修改过的文件
git commit -m "注释"
2.2 通过fetch和rebase实现
git fetch origin develop
git log -p develop..origin/develop ##查看两者差异
git rebase origin/develop
git add xx_path/xx_file ##有冲突时,先解决再add冲突文件
git rebase --continue
(注:在做rebase时,最好不要同时提交新的修改;此时就不需要使用git commit命令了,从而避免将库上的历史搞乱)
git push origin HEAD:refs/for/develop
3.查看文件的修改
git reflog ##查看本地的操作记录
git log origin/develop..HEAD ##查看本地的大致修改
git log --stat origin/develop..HEAD ##查看本地的详细修改
git status
(git status -s 简单模式查看状态,第一列本地库和缓存区的差异,第二列缓存区和工作目录的差异),
git diff file_name ##查看file_name的具体修改
git log -n 4 ##查看更新到本地的最新4次修改日志
git log --stat ##查看每次修改都更改了哪些文件
git log --pretty=oneline path/file ##查看一个文件的所有修改
git show 哈希值 文件名 ##查看某个文件的某次修改
git log origin/develop..HEAD
git log --name-status ##查看日志及每次修改的文件
git log ..origin/develop --oneline ##查看库上比本地的新修改
git log origin/develop.. --oneline ##查看本地比库上的新修改
git log -graph
4. 提交代码
git config --list ##查看本人的配置情况(若已配置则忽略下面两步)
git config user.name yyy
git config user.email yyy@163.com
git config --list ##查看配置是否生效
git add . ##将本地的修改都上库
git commit -m "注释"
git push origin develop:refs/for/develop ##将修改的代码推送到远端(第一次上库时使用)
git push origin HEAD:refs/for/develop ##将修改的代码推送到远端(非第一次上库时使用)
最后到gerrit的网页上确认提交是否生效
5.编译库上的最新的干净版本
git fetch
git checkout -b test origin/develop ##新建并切换到test分支,更新远端develop的代码至此分支
cp ../RawPrjAll/build/dll/id_rsa.ppk build/dll/
cp ../RawPrjAll/build/dll/username.gittxt build/dll/
然后进入build目录再运行编译脚本
6.提取gerrit服务器上感兴趣的(或出问题的)某个版本(如:某次提交后导致出问题的版本)
git fetch ssh://yyy@ip:29418/** && git checkout -b NewTest FETCH_HEAD
git log ##查看提交日志,假设出问题的版本的哈希值为111, 想要回退的版本的哈希值为222
git reset --hard 222
(git reset --hard HEAD ##比如merge冲突时,回退到本地之前的代码先)
git cherry-pick 111 ##将111版本中提交的修改更新到本地的222版本上
7.将多个提交合成一个
假设使用git log查看到了111, 222,333,444四个修改,现在想将前面3个修改合并
git reset 444
git add .
git commit -m "将前三个修改合并"
git log ##假设新提交为555
git diff 111 555 ##比较合并后的和之前的,确认无漏
git push origin HEAD:refs/for/develop
8.其余命令
git remote -v
####更加release的版本号1111,反推是从哪个git commit编译出来的
git log --reverse --oneline origin/develop | head -n 1111 | tail -n1
- 【git】常用的git命令
- 常用的git命令
- git常用的命令
- git常用的命令
- 常用的git命令
- 常用的Git命令
- git常用的命令
- 常用的Git命令
- 常用的git命令
- Git常用的命令
- 常用的git命令
- 常用的git命令
- git常用的命令
- git常用的命令
- 常用的Git命令
- 常用的Git命令
- Git常用的命令
- 常用的Git命令
- JFinal框架搭建
- LeetCode题解:Teemo Attacking
- http基础教程
- 编写jsp页面
- OKHttp的基本使用和简单封装
- 常用的Git命令
- Linux一键安装PHP/JAVA环境OneinStack
- “面子”真的那么重要吗?——2017过年返乡见闻与思考
- bat文件的一些小技巧
- 转载---美团外卖系统架构演进与稳定性的探索
- 模板函数的基础应用
- C#之知识积累
- (昨天的)codevs天梯 最长严格上升子序列 暴力
- android图片加载框架ImageLoader涉及的设计模式