git基础操作

版本库基本操作

git init                             创建版本库,默认本地master分支
git diff filename                    对比查看修改前后的文件变化
git diff head -- filename            查看版本库与当前版本文件区别
git rm filename                      删除文件

pwd	用于显现当前目录
ls -ah	查看隐藏文件
git config --list	查看所有git配置数据
cat ~/.gitconfig	查看当前配置数据

1、版本回退

第一步: git reset --hard head~n       回退到倒数第n个版本
        git reset --hard 版本ID        回退到指定版本
第二步: git checkout -- .             本地代码与版本库保持一致

2、撤销操作

第一步:git reset head         清除暂存区内容
第二步:git checkout -- .

3、本地版本库初始化远程仓库

第一步:github上创建远程库,默认勾选即可。最后一步不要创建README.md文件。
第二步:git remote add origin git://github.com/pencejz/learn_git_dell.git     关联远程库
       (git remote remove org    取消远程库)
第三步:git push -u origin master    将本地代码推送到远程库(初始化远程库)

注意:由于远程库是空的,我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。

4、分支管理

git branch                查看本地分支
git branch -a / -vv       查看所有分支 / 查看关联分支
git branch 分支名          创建新分支
git checkout 分支名        切换分支
git checkout -b 分支名     创建并切换到新分支
git push origin 本地已存在的分支名    将本地分支推送到远程仓库
git branch -d 本地分支名             删除本地分支
git branch -m [旧分支名] 新分支名    修改分支名称
git push origin -d 远程分支名        删除远程分支
git branch -u origin/远程分支名称 【本地分支名称】        将本地分支和远程分支相关联
git branch --unset-upstream        取消当前关联分支
git fetch --all           获取所有远程分支(当git branch -a 不能获取到所有远程分支时,使用此命令更新分支即可)

5、代码管理

git pull origin 远程分支        拉取远程分支代码到本地当前分支 
git push origin 远程分支        将本地当前分支代码推送到远程分支

6、历史查询 

git log --author=abc --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges -5
//--author=abc             作者
//--oneline                简洁显示
//--before={3.weeks.ago}   3周前
//--after={2010-04-18}     18年4月18日后
//--no-merges              隐藏 “合并”提交记录
//-5                       显示结果数量

查看本地操作日志

git reflog 【-n】        n表示查询结果显示条数

7、stash暂存

git stash push -m "备注信息" 指定文件地址 //暂存指定文件

git stash push -m "备注信息" -p //暂存多个指定文件(针对每一处改动,y表示确认暂存,n不暂存)
//注意:此命令会创建2个stash,分别对应选中y和n的改动。

git stash //暂存当前分支所有改动。没有备注信息,不建议直接使用

git stash save "备注信息"  //暂存所有。执行存储时,添加备注,方便查找

git stash list  //查看stash了哪些存储

git stash show //显示第一个暂存的所有文件改动情况,默认show第一个存储

git stash show stash@{$num} //显示指定stash改动,比如第二个 git stash show stash@{1}

git stash show -p //显示第一个存储的代码详细改动

git stash show stash@{$num} -p //显示指定存储代码改动。比如第二个:git stash show  stash@{1}  -p

git stash apply //应用存储,但不会把存储从存储列表中删除,默认使用第一个存储,即stash@{0}

git stash apply stash@{$num} //应用指定存储,比如第二个:git stash apply stash@{1} 

git stash pop //命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0}

git stash pop stash@{$num} //应用并删除指定暂存。比如应用并删除第二个:git stash pop stash@{1}

git stash drop stash@{$num} //丢弃stash@{$num}存储,从列表中删除这个存储

git stash clear //删除所有暂存

8、压缩合并(--squash)

定义:将一条分支上的若干个提交条目压合成一个提交条目,提交到另一条分支的末梢。

场景:当一个功能开发完成时,在你的开发分支上,可能会产生几十上百次commit记录。这时你需要你的功能代码合并到主开发分支develop上,这个时候,我们就希望能够将其合并成一次commit,提交到develop分支上。

//dev分支上的所有提交已经合并到当前工作区并暂存
git merge --squash dev

//可以像其他提交一样,把这个改动提交到版本库中
git commit –m "something from dev"
git push origin 指定分支

如果你使用的是gitee,那就更简单了,如下图,合并时选择“扁平化分支”即可。

9、仓库协议切换

//设置为ssh协议
git remote set-url origin git://仓库地址.git

10、忽略已经提交过的文件

// 1、取消跟踪
git rm -r --cached 【目录/文件】

// 2、修改 .gitignore

// 3、提交 .gitignore

11、修改本地已经commit的注释

// 修改最近一次的本地commit(未push到云端)
git commit --amend
// 然后出现命令行编译文件,按i,进入编辑。
//编辑完成后,按:wq,即可。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值