工作中最常用的git命令

最常用的git命令

Git指令

1、初始化仓库

git init

2、克隆一个项目代码

git clone [url]

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

git checkout -b [branch]

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

图片说明:
工作中最常用的git命令

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

工作中最常用的git命令

解释:

  • 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命令

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

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

 git fetch origin master

详细可参考

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

git rebase 指令会复制当前分支的所有最新提交,然后将这些提交添加到指定分支提交记录之上。
工作中最常用的git命令
详细可参考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最最最最…常用命令

上一篇:一些比较常用的git命令


下一篇:git push错误failed to push some refs to的解决