总结我在日常使用中用到过的一些git命令,不定期更新编辑
Tip:以下git命令中假设git的ip为11.111.111.11,端口号为123,待拉取仓库文件为/home/test
目录
一连串常用命令(在工作或写项目过程中高频使用)
你写了一些新的代码,想要将其推送到远端,通常要经历下面几个命令:
-
将工作区代码推送到暂存区:
git add .
(也可git add 你想要添加的文件
) -
将暂存区文件提交到本地仓库(版本区)
git commit -m "你的提交说明"
若在命令好输入提交说明时想要换行: 在前双引号输入后换行即可,当说明文字输完后再加上后双引号
- 将本地仓库文件提交到远端仓库
git push origin 本地分支名:远端分支名
你想要拉取远端仓库的代码
git pull origin 远端分支名
git merge 命令
git merge 要合并的分支
举例:假设现在处于master本地分支下,git merge develop,则会将develop分支的修改merge到master分支下
git branch 命令
查看分支
git branch
:查看本地分支
git branch -r
:查看远端仓库分支
git branch -a
:查看本地+远端仓库分支
创建分支
git branch 新分支名称
:创建新的本地分支
注意:当使用
git branch新分支名称
命令创建一个新的本地分支时,该分支的内容与当前分支(即你输入创建新本地分支命令时,你正在的分支)完全相同。新分支是从当前分支分叉出来的,因此在创建时,它包含与当前分支相同的提交历史、文件和文件内容。在新分支上进行的更改不会影响当前分支
ref: 参考
git checkout 命令
git checkout 本地分支名
:切换到该本地分支
注意:若该分支不存在,则会报错
git checkout -b 新的本地分支名
:创建该本地分支并切换到该新分支
git branch -d 要删除的分支名
:删除一个本地分支
git log 命令
git log
:查看当前分支的log
git log 本地仓库分支名
:查看该本地仓库分支名的log
git log 远端仓库分支名
:查看该远端仓库 分支名的log,如 git log origin/master
git reset命令
git reset --hard 版本号
:回退到该版本号,此时该版本号之前本地工作区和暂存区的代码都会删除
git reset --soft 版本号
:回退到该版本号,此时该版本号之前的本地工作区和暂存区代码会保留,把版本之间的差异放在缓存区
注意:上面两条命令只是删除了本地代码,远端还是存在,所以如果此时git pull拉取远端代码,则git log可以看到还是未回退前的状态
回退后,想要远端也回退,则把回退后的代码push到远端即可
(注:表格来源:见下ref)
ref: 参考
git stash命令
懒得打字了嘻嘻嘻,直接贴图
ref: 《OceanBase 数据库 - 开发者入门教程》
修改ssh端口后相应配置git
原本项目端口号是123,修改了ssh端口号为111后,再使用git pull/push命令会报错如下:
ssh: connect to host 11.111.111.11 port 123: Connection timed out
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
此时需要修改git配置:
git remote set-url origin ssh://git@11.111.111.11:111/home/test
ref:
https://www.jianshu.com/p/b3dcd55ddc9d
报错:fatal: not a git repository (or any of the parent directories): .git 的解决方法
有的时候有些项目之前已经连过git远端了,之前推拉都可以,但可能过了很长时间没管这项目,再打开想用git命令操作时操作不了并且会提示:
fatal: not a git repository (or any of the parent directories): .git
解决方法:输入 git init
重新初始化一下仓库就好了
ref: 参考
和远端仓库连接
你先在本地写了一个项目,想用git管理代码,于是你在github上建了一个远端仓库,此时本地代码想push到远端仓库上,则需要和远端仓库进行连接(以将你的项目推上去),可以按照下面的步骤和远端仓库进行连接
先在本地初始化一个git仓库:
gin init
接着将本地仓库和远端仓库连接:
git remote add origin 远端仓库链接
检查是否连接成功:
git remote -v
显示如下两个(一个fetch、一个push)则连接成功