git日常操作

转载廖雪峰
1. git status命令可以让我们时刻掌握仓库当前的状态
2. git diff 顾名思义就是查看difference,显示的格式正是Unix通用的diff格式。查看修改内容
3. git add 添加到仓库 (把文件修改添加到暂存区)
4. git commit -m “git tracks changes” 提交的修改到仓库 把暂存区的所有内容提交到当前分支
5. git log 命令显示从最近到最远的提交日志 如果嫌输出信息太多,看得眼花缭乱的,可以试试加上–pretty=oneline参数
6. git reset –hard HEAD首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100
7. git reset –hard 3628164(id) 再回去之前那个指定id版本
8. git reflog 。命令git reflog用来记录你的每一次命令
9. git checkout – 可以丢弃工作区的修改(撤销修改
git checkout – file命令中的–很重要,没有–,就变成了“切换到另一个分支”的命令

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

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

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

10.git rm 从版本库中删除该文件 并且git commit**删除文件**


创建与合并分支
  • 首先,我们创建dev分支,然后切换到dev分支:
$ git checkout -b dev
Switched to a new branch 'dev'
  • git checkout命令加上-b参数表示创建并切换,相当于以下两条命令
$ git branch dev
$ git checkout dev
Switched to branch 'dev
  • 然后,用git branch命令查看当前分支:
$ git branch
* dev
  master
$ git merge dev

现在,我们把dev分支的工作成果合并到master分支上

Git鼓励大量使用分支:

查看分支:git branch

创建分支:git branch <name>

切换分支:git checkout <name>

创建+切换分支:git checkout -b <name>

合并某分支到当前分支:git merge <name>

删除分支:git branch -d <name>

解决冲突
  • Git还提供了一个stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作:
$ git stash
Saved working directory and index state WIP on dev: 6224937 add merge
HEAD is now at 6224937 add merge
  • git stash list 查看工作现场
  • 工作现场还在,Git把stash内容存在某个地方了,但是需要恢复一下,有两个办法:

一是用git stash apply恢复,但是恢复后,stash内容并不删除,你需要用git stash drop来删除;

另一种方式是用git stash pop,恢复的同时把stash内容也删了:


Feature分支
开发一个新feature,最好新建一个分支;如果要丢弃一个没有被合并过的分支,可以通过git branch -D 强行删除

  • git remote 查看远程库的信息
  • git remote -v 显示更详细的信息
  • $ git push origin master 推送分支
但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢?

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

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

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

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

标签
  • git tag 《name》 创建标签
  • git tag 查看标签
  • git show 查看标签信息
命令git tag <name>用于新建一个标签,默认为HEAD,也可以指定一个commit id;

git tag -a <tagname> -m "blablabla..."可以指定标签信息;

git tag -s <tagname> -m "blablabla..."可以用PGP签名标签;

命令git tag可以查看所有标签
  • 命令git push origin 《tagname》可以推送一个本地标签
  • 命令git push origin –tags 可以推送全部未推送过的本地标签
  • 命令git tag -d 可以删除一个本地标签
  • 命令git push origin :refs/tags/可以删除一个远程标签
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值