git 常用命令总结

 

git clone /vob/xx_workspace/sdk_xx  zhangsan_xx_gz   //克隆一个分支到xx_xx_gz
git clone zhangsan@192.168.5.183:/vob/xx_workspace/sdk_xx zhangsan_xx/

cd zhangsan_xx_gz

git checkout master  //切换到master分支,master分支是创建工作区是默认创建的分支,可以直接切换远程分支
git checkout filename  //撤销工作区内filename的改动
git reset HEAD filename  //撤销暂存区内filename的改动,使其转变成工作区的改动


git branch          //查看本地分支
git branch -r       //查看远端分支
git branch -a       //查看本地和远端分支
git branch -vv      //查看本地分支的上一次提交以及和远程分支的追踪状态
git branch Example_xx_xx origin/Example_xx_xx     //创建一个关联到远端分支Example_xx_xx的一个本地分支
git branch -D      //删除一个分支

git branch -d XX 提示:  the branch  XXX is not fully merged
原因:XXX分支有没有合并到当前分支的内容
解决方法:使用大写的D 强制删除  git branch -D XXX   


git log Example_xx_xx  //查看Example_xx_xx分支的log,即提交记录,包括本地分支和远端分支
git log Example_xx_xx -p //列出该分支的提交记录,包含具体的改动内容
git log Example_xx_xx --stat    //列出该分支的提交记录,包含每次提交的改动文件以及被改动的地方的数目 
git log 351523c23f8afda3cc19cf06b26979a95c5c3c8b  //列出本次提交之前的所有提交记录,包括本次提交
git log -p 351523c23f8afda3cc19cf06b26979a95c5c3c8b  //列出本次提交之前的所有提交记录的详细修改,包括本次提交
git log --stat 351523c23f8afda3cc19cf06b26979a95c5c3c8b  //列出本次提交之前的所有提交记录的修改文件,包括本次提交
git log commit1..commit2    //列出commit1和commit2之间的提交记录,但不包括commit1(commit1应在commit2之前提交)
git log -p commit1..commit2    //列出commit1和commit2之间的提交记录,但不包括commit1(commit1应在commit2之前提交)
git log --stat commit1..commit2    //列出commit1和commit2之间的提交记录,但不包括commit1(commit1应在commit2之前提交)

git log HEAD   //列出当前分支的所有提交记录
git log HEAD~14   //列出14次提交之前的提交记录
git log -p HEAD~14   //列出14次提交之前的修改记录,包括修改的内容
git log -p -2 //只显示最近的两次提交

git log --oneline  --graph 
git log --graph master
git log --graph 
git log --graph --decorate
git log --graph --decorate --oneline

git log --name-only 7cf33b3  //显示本次提交的文件列表,包括本次提交之前的所有提交
git whatchanged 7cf33b3   //显示本次提交的文件列表,包括本次提交之前的所有提交


git status //查看当前分支被修改但未提交的文件,包括工作区和暂存区的文件状态
git status [-s][-v] shared/opensource/boardparms/bcm963xx/boardparms.c   //查看当前分支某一特定文件的状态
git status -u no   //不显示未被跟踪的文件
git status -s //以脚本的形式显示文件状态,M顶行表示修改提交了,M位于第二字符表示未提交。

git show commit1//查看commit1的提交记录

//在git上配置个人信息,每次提交的时候都会用到这些信息
git config --global user.name "zhangsan"
git config --global user.email zhangsan@sinachina.com.cn
git config -l       //显示配置信息
git config --list

git checkout -p remotes/origin/master shared/opensource/boardparms/bcm963xx/boardparms.c      //这个命令可以用来打补丁。这个命令主要用来比较两个分支间的差异内容,并提供交互式的界面来选择进一步的操作。
//这个命令不仅可以比较两个分支间的差异,还可以比较单个文件的差异哦!
//选择y,将补丁添加到工作区和暂存区


git diff shared/opensource/boardparms/bcm963xx/boardparms.c //查看工作区和暂存区的文件差异
git diff HEAD   //查看暂存区和仓库间的文件差异
git diff --staged //查看暂存区和仓库间的文件差异


git ls-files - 会显示缓冲区内的文件信息。


 git stash save  //暂时保存当前分支的未提交修改(工作区和暂存区),然后可以切换到其他分支
Saved working directory and index state WIP on tmpbuild: d4c91aa enable debug message for rdp
HEAD is now at d4c91aa enable debug message for rdp

 git stash list   //显示暂存内容列表
stash@{0}: WIP on tmpbuild: d4c91aa enable debug message for rdp

 git stash pop  //回复最近一次的暂存修改到工作区


清理当期工作目录中未被追踪的文件或目录:
git clean -fdx  //f文件,d文件夹,x .gitignore中的文件
git clean -f    //删除untracked files
git clean -fd   //删除untracked 的文件和目录
git clean -fdx  //连gitignore中untrack的文件/目录一起删掉(慎用,一般用来删掉编译出来的.o之类的文件)
 
git clean -nxfd  //在用上述命令前,建议加上 -n 参数来先看看会删掉哪些文件,防止重要文件被误删
git clean -nf
git clean -nfd


git add filename  //将文件加入到暂存区
git commit -m ""  //将暂存区的文件加入代码库

git reset HEAD filename  //撤销暂存区的文件
git checkout filename //撤销工作区的文件


从远端分支更新代码:
git fetch origin; 

git rebase origin/master;  //变基操作,从当前分支转换到master,并将当前分支的改动合并到master,废弃当前分支
git fetch origin; git reset --hard origin/master;


git fetch origin        //更新远端分支代码到本地,但未与本地分支合并
git merge origin/minifix    //将更新的代码合并到当前分支
git commit       //如果有冲突,进行冲突处理
git push origin minifix     //将本地代码推送到远端

git push origin [本地分支名]:[远程分支名]   //将本地分支推送到远程分支
git push   //push当前分支到当前分支的追踪关系分支


git reset HEAD -- <file>  //git reset fe23d65 --filename
该操作 可以 拉取最近一次提交到版本库的文件到暂存区 并且该操作不影响工作区
简单的来说 就是可以帮我们从版本库中 拉取文件到 暂存区 当我们把工作区的某个文件弄乱了 我们就可以使用该命令 把版本库中的那个文件拉到暂存区 然后再拉回工作区


将分支改动合并到主分支:
$git branch
  minifix
* tmp
$ git checkout minifix   //切换到主分支
$ git merge tmp          //合并tmp分支到主分支

 
 
git bundle create <filename> master    //为master分支创建bundle文件,保存改动历史
git clone repo.bundle repo    //从bundle中克隆一个分支,如果在创建bundle时没有指定引用,所以此处需要使用-b来制定一个被引入的分支,否则git
不知道应该检出哪一个分支,例如 -b master 即检出master分支


git cherry-pick <commitid>...<commitid>  //可以将其他分支的提交拉取到当前分支

 

 

mkdir onu_debug
git clone ssh:remote-branch-url ./onu_debug  //从远端个人分支clone本地仓到onu_debug,个人远端仓从主仓fork而来
cd onu_debug
git checkout -b onu_eqpt  //创建本地分支onu_eqpt,-b并切换到该分支
git remote -v   //查看远端链接,origin即为远端个人仓的链接简称
git remote add trunk ssh:remote-master-url  //添加到主仓的ssh链接,命名为trunk
git pull trunk onu_EQPT //通过trunk拉去主仓上onu_EQPT分支代码到本地分支
git reset --hard 25es78d  // 如果拉去失败,则强制更新到最新的commitid
git pull trunk onu_EQPT   //通过trunk拉去主仓上onu_EQPT分支代码
git status 
git add 
git commit -s
git push origin onu_eqpt:onu_EQPT   //推送本地提交到远端个人分支onu_EQPT,如果不存在,则创建远端个人分支onu_EQPT;如果远端
和本地分支同名,则不需要指定远端分支;如果本地分支已经关联了远端分支,则pull或push的时候不需要指定分支,直接git pull或是git
push即可
git branch -vv 查看关联分支

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值