在工作中经常使用的git命令笔记

基础

初始化版本库

git init   

将修改添加到暂存区 

git add <file>   

将暂存区提交到版本库分支 

git commit -m "message"  

跳过暂存区直接提交工作区的修改

git commit -a -m '修改内容说明'   

查看工作区的状态 

git status   

查看工作区修改内容,即工作区与暂存区的区别

git diff <file>   

恢复到指定id的版本

git reset --hard <commitid>   

查看提交历史

git log   

查看格式化后的提交历史

git log --pretty=oneline    

查看未来的历史命令

git reflog   

查看工作区和版本库里面最新版本的区别

git diff HEAD -- readme.txt   

用版本库里<file>的版本替换工作区<file>的版本

git checkout -- <file>   

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

一种是<file>已经添加到暂存区后,又作了修改,撤销修改就回到添加到暂存区后的状态。

可以把暂存区的修改撤销掉,不修改工作区

git reset HEAD <file>   
从版本库中删除文件

git rm <file>   

远程仓库

创建SSH Key

ssh-keygen -t rsa -C "youremail@example.com"

与远程仓库建立关联

git remote add origin git@github.com/liuyuantao1990/git-test.git

把本地库的所有内容推送到远程库

git push -u origin master
第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令

以HTTPS协议形式从远程库克隆内容的到本地库

git clone https://github.com/liuyuantao1990/git-test.git  

以SSH协议形式从远程库克隆内容的到本地库

git clone git@github.com:liuyuantao1990/git-test.git  

从远程仓库抓取数据

git fetch <remote-name>  

查看远程仓库信息

git remote show <remote-name>  

远程仓库重命名

git remote rename <old-name> <new-name>  

分支管理

master分支是主分支,因此要时刻与远程同步; 

dev分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步; 

bug分支只用于在本地修复bug,就没必要推到远程了,除非老板要看看你每周到底修复了几个bug; 

feature分支是否推到远程,取决于你是否和你的小伙伴合作在上面开发。

创建并切换<name>分支

git checkout -b <name>   

查看分支

git branch   

创建<name>分支

git branch <name>   

切换到<name>分支

git checkout <name>   

合并指定分支到当前分支

git merge <name>   

删除<name>分支

git branch -d <name>   

查看分支的合并情况

git log --graph --pretty=oneline --abbrev-commit   

查看分支合并图

git log --graph   

采用普通模式合并制定分支到当前分支

git merge --no-ff -m "普通模式合并分支" <name>   

本地分支管理

保存工作区的内容,以后恢复工作区后可以继续工作

git stash   

恢复保存的工作区,但是恢复后,stash内容并不删除

git stash apply   

删除保存的工作区的内容

git stash drop   

恢复保存的工作区,同时删除stash内容

git stash pop  

强行删除分支

git branch -D <name>   

远程分支管理

查看远程库的信息

git remote   

查看远程库的详细信息

git remote -v   

将master分支推送到远程库对应的远程分支

git push origin master   

从远程抓取分支

git pull   

建立本地<branch-name>分支和远程<branch-name>分支的关联

git branch --set-upstream <branch-name> origin/<branch-name>  

标签操作

新建标签

git tag v1.0   

根据提交的id创建带说明的标签

git tag -a v0.1 -m "version 0.1 released" commit id   

查看所有标签

git tag   

查看<tagname>标签信息

git show <tagname>   

推送一个本地标签到远程

git push origin <tagname>   

推送全部未推送过的本地标签到远程

git push origin --tags   

删除标签

git tag -d v0.1   

删除远程标签

git push origin :refs/tags/v0.1   

文件恢复

从暂存区恢复文件到工作区

当执行 "git checkout ." 或者 "git checkout -- <file>" 命令时,会用暂存区全部或指定的文件替换工作区的文件。

从版本库恢复文件到工作区和暂存区

当执行 "git checkout HEAD ." 或者 "git checkout HEAD <file>" 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区以及工作区中的文件。 

从版本库恢复提交到暂存区

git reset --soft <commitid>

从版本库恢复提交到暂存区和工作区,等同于git checkout HEAD .

git reset --hard <commitid>

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

刘元涛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值