git命令教程

git教程

初始设置

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

--global :表示你这台机器上所有的Git仓库都会使用这个配置

创建版本库

$ mkdir learngit
$ cd learngit
$ pwd          //查看当前路径
/c/Users/youngerZeng/Desktop/learngit

$ git init     //初始化,变成可以管理的仓库,会生成 .git  目录
$ ls -ah       //查看该目录下的文件

$ git add readme.txt //readme.txt 添加到仓库
$ git commit -m "wrote a readme file"  //提交

查看状态

$ git status   //查看当前状态
$ git diff readme.txt  //查看修改内容
$ cat readme.txt       //查看文本内容

版本回退

$ git log      //查看历史
$ git reset --hard HEAD^^  //回退到上上个版本
$ git reset --hard 1094a   //hard指向 '1094a'版本,跳转到该版本
$ git reflog               //查看命令历史

工作区和暂存区

这里写图片描述

撤销修改

$ git checkout -- readme.txt  //撤销修改

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commitgit add时的状态。

$ git reset HEAD readme.txt    //可以把暂存区的修改撤销掉(unstage),重新放回工作区

删除文件

从版本库中删除该文件,再用命令git rm删掉,并且git commit

$ git rm test.txt  //删除文件

远程仓库

$ ssh-keygen -t rsa -C "youremail@example.com" //创建SSH Key

在用户主目录里找到.ssh目录,有id_rsaid_rsa.pub两个秘钥文件,,id_rsa私钥,,id_rsa.pub公钥

github 里添加公钥,远程同步

//关联远程仓库
$ git remote add origin git@github.com:younger/learngit.git
//推送到远程库
$ git push [-u] origin master
//从远程库克隆到本地库
$ git clone git@github.com:younger/gitskills.git

$ git remote       //查看远程库的信息
$ git remote -v        //显示更详细的信息
//如果远程仓库已修改,本地仓库也修改了,那么先把远程仓库抓取到本地合并,解决冲突,再推送
//如果没有创建链接,则指定本地dev分支与远程origin/dev分支的链接
$ git branch --set-upstream-to=origin/dev dev
$ git pull     //抓取
git push origin dev     //推送

创建与合并分支

$ git branch dev   //创建分支
$ git checkout dev //切换分支
$ git checkout -b dev  //创建并切换分支
$ git branch       //查看当前分支
$ git checkout master  //切换回master分支
$ git merge dev            //dev合并到当前master分支
$ git branch -d dev      //删除dev分支

这里写图片描述

解决冲突

这里写图片描述

master分支和feature1分支都分别提交修改内容,合并冲突

可手动解决冲突后再提交

//查看分支合并图
$ git log --graph --pretty=oneline --abbrev-commit

这里写图片描述

//用大写的 D 强行删除一个没有被合并过的分支
$ git branch -D dev

分支管理

//--no-ff参数:用普通模式合并,合并后的历史有分支
//而fast forward合并就看不出来曾经做过合并。
$ git merge --no-ff -m "merge with no-ff" dev

Bug分支

$ git stash        //把当前工作现场“储藏”起来,等以后恢复现场后继续工作
$ git stash list//查看存储在stash的工作列表
$ git stash apply//恢复
$ git stash drop  //删除
$ git stash pop      //恢复并删除
$ $ git stash apply stash@{0} //恢复指定的stash

修复bug时,我们会通过创建新的bug分支进行修复,然后合并,最后删除;

当手头工作没有完成时,先把工作现场git stash一下,然后去修复bug,修复后,再git stash pop,回到工作现场。

其他

rebase:

$ git rebase   //把本地未push的分叉提交历史整理成直线

标签

$ git tag v1.0      //打一个新标签
$ git tag v0.9 f52c633
$ git tag          //查看标签
$ git show v0.9        //查看标签信息
$ git tag -a v0.1 -m "version 0.1 released" 1094adb//创建带有说明标签
$ git tag -d v0.1  //删除标签
$ git push origin v1.0 //推送某个标签到远程
//远程删除标签,但是要先删除本地标签
$ git push origin :refs/tags/v0.9

自定义Git:

$ git config --global color.ui true //让Git显示颜色

本文来自Git教程 廖雪峰的笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Younger_zeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值