工作中最常用的git命令

最常用的git命令

Git指令

1、初始化仓库

git init

2、克隆一个项目代码

git clone [url]

3、新建一个分支,并切换到该分支

git checkout -b [branch]

处理bug时可以先创建一个分支,然后add - commit - merge,最后删除该分支

图片说明:
在这里插入图片描述

$ git checkout -b iss53
Switched to a new branch "iss53"

在这里插入图片描述

解释:

  • Git 的分支,其实本质上仅仅是指向提交对象的可变指针。 Git 的默认分支名字是 master。在多次提交操作之后,你其实已经有一个指向最后那个提交对象的 master 分支。 master 分支会在每次提交时自动向前移动。
  • Git 的 master 分支并不是一个特殊分支。 它就跟其它分支完全没有区别。 之所以几乎每一个仓库都有 master 分支,是因为 git init 命令默认创建它,并且大多数人都懒得去改动它。

4、查看当前分支

git branch

git branch命令会列出所有分支,当前分支前面会标一个*号

  master
  system_test
* yunfei

5、查看修改的文件

git status 

6、添加当前目录的所有文件到暂存区

git add .

7、提交暂存区到仓库区

git commit -m [message]

8、推送本地指定分支到远程仓库

git push origin dbase_bugfix 就可以了

9、将文件存至暂存区

# 保存到缓存区
git stash save '本次暂存的标识名字'

# 查看暂存区列表
git stash list

# 查看最近暂存区保存的内容
git stash show
git stash show stash@{index}

# 删除暂存区指定记录
git stash drop stash@{index}

# 清空缓存区
git stash clear

从草稿箱还原文件

# 恢复最近暂存的内容
git stash pop

# 恢复指定草稿(pop会删除暂存区内容)
git stash pop stash@{index} 
git stash apply stash@{0} 

10、撤销提交(–hard为强制提交,可以不加)

git reset --hard HEAD

# 后退一步
git reset --hard HEAD^

# 后退N步
git reset --hard HEAD~2

# 撤销指定记录提交
git log
git reset --hard commit_id (哈希索引值)

# 撤销指定文件提交
git reset HEAD README.MD (指定文件名)

git reflog (查看非明细)
git reset HEAD@{1}  (注意数字1是需要撤销到的版本)

英文状态下按q退出git log

11、将远程分支上的最新的修改下载下来(git fetch)
在这里插入图片描述
注意:当 git fetch 命令从服务器上抓取本地没有的数据时,它并不会修改工作目录中的内容。 它只会获取数据然后让你自己合并。

$ git fetch <远程主机名> <分支名>

例如:取回origin主机的master分支,如下:

 git fetch origin master

详细可参考

如果你在本地的 master 分支做了一些工作,在同一段时间内有其他人推送提交到 git.ourcompany.com 并且更新了它的 master 分支,这就是说你们的提交历史已走向不同的方向。 即便这样,只要你保持不与 origin 服务器连接(并拉取数据),你的 origin/master 指针就不会移动。

在这里插入图片描述
如果要与给定的远程仓库同步数据,运行 git fetch 命令(在本例中为 git fetch origin)。 这个命令查找 “origin” 是哪一个服务器(在本例中,它是 git.ourcompany.com), 从中抓取本地没有的数据,并且更新本地数据库,移动 origin/master 指针到更新之后的位置。
在这里插入图片描述

12、一个分支的修改合并到当前分支

git rebase 指令会复制当前分支的所有最新提交,然后将这些提交添加到指定分支提交记录之上。
在这里插入图片描述
详细可参考1
详细可参考2
假设Git目前只有一个分支master。开发人员的工作流程是

  • git clone master branch
  • 在自己本地checkout -b local创建一个本地开发分支
  • 在本地的开发分支上开发和测试
  • 阶段性开发完成后(包含功能代码和单元测试),可以准备提交代码
    • 首先切换到master分支,git pull拉取最新的分支状态

    • 然后切回local分支

    • 通过git rebase -i 将本地的多次提交合并为一个,以简化提交历史。本地有多个提交时,如果不进行这一步,在git rebase master时会多次解决冲突(最坏情况下,每一个提交都会相应解决一个冲突)

    • git rebase master将master最新的分支同步到本地,这个过程可能需要手动解决冲突(如果进行了上一步的话,只用解决一次冲突)

    • 然后切换到master分支,git merge将本地的local分支内容合并到master分支

    • git push将master分支的提交上传

  • 本地开发分支可以灵活管理
git checkout master
git pull
git checkout local
git rebase -i HEAD~2  //合并提交 --- 2表示合并两个
git rebase master---->解决冲突--->git rebase --continue
git checkout master
git merge local
git push

参考

1、https://blog.csdn.net/qq_42780289/article/details/98049574
2、https://mp.weixin.qq.com/s?__biz=MzI0MDQ4MTM5NQ==&mid=2247492813&idx=1&sn=886c2e6a4773fcdcaadb3e6034c07a52&chksm=e91881d1de6f08c7d8fc94dcd0f571442e665d1b6a99ab42fc72608aa7cff0adcda7b8f9324e&token=253868916&lang=zh_CN#rd
3、https://www.jianshu.com/p/6960811ac89c4
4、四个区域常用命令
5、git最最最最…常用命令

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值