git常用操作命令
本文介绍git常用的操作命令,供大家参考。
1、开始
# 初始化本地git
git init# 在初始化的目录中,创建readme.txt,添加到git库中
git add readme.txt
git commit -m "写了一个readme.txt文件"
2、版本回退
2.1、git reset
git log
git log --pretty=oneline# 回退
git reset --hard HEAD^
- –hard:回退到上个版本的已提交状态。
- –soft:回退到上个版本的未提交状态。
- –mixed:回退到上个版本已添加但未提交的状态。
# 回到指定版本,往前往后都可以
git reset --hard f060 # 查看提交的id,当用git log命令找不到你想要的id时使用。一般是先回退,后来又反悔了。
git reflog
2.2、git restore
相对于git reset命令,git restore更好用一些,这是新命令,需要在2.23版本以上使用。
## 恢复a.txt到最近的提交
git restore a.txt## 将b.txt从暂存区移除
git restore --staged b.txt## 从指定提交回复文件
git restore --source=HEAD~1 c.txt
3、几个概念
- 工作区:就是你电脑的某个初始化了git的文件夹。
- 版本库:工作区有个.git文件夹,隐藏的,这就是git的版本库。
- stage:暂存区,执行 git add 命令时,就是把文件添加到暂存区。
- master:主分支,执行 git commit 命令时,实际是把暂存区的内容提交到master。
4、撤销修改
当你修改了文件,又想恢复到修改前的状态时,用下面的命令。用于恢复工作区和暂存区中的文件,也可以用于丢弃未提交的更改。
# 老命令,双横线不能少,否则就成了操作分支了
git checkout -- readme.txt# 新命令,用这个命令即可。
git restore readme.txt
5、远程仓库
5.1、生成ssh key
ssh-kengen -t rsa -C "你的邮箱"
找到.ssh目录,windows系统在:C:\Users\Administrator.ssh。如果你不是用Administator登录的,那就把Administrator换成你的用户名。
执行上面命令后,在.ssh目录下会生成两个文件,id_rsa和id_rsa.pub。其中id_rsa.pub 是公钥,如果你使用SSH key连接远程仓库时,把它的内容复制就行了,具体操作大家查一下。
5.2、使用gitee创建仓库
注册并登录gitee,右上角加号,创建仓库:
这是添加仓库截图,都很简单,大家自行操作。
5.3、关联本地仓库与远程仓库
在本地仓库目录下,执行:
git remote add origin git@gitee.com:maodou95838_admin/a-test.git
注意:后面的maodou95838_admin/a-test.git写成你自己的,否则是不能推送的。
5.4、推送
# 首次推送
# -u 关联本地master和远程master
git push -u origin master # 从第二次后就不用再加 -u
git push origin master
5.5、取消关联
# 查看远程库的信息
git remote -v# 按照名字取消关联
git remote rm origin
5.6、从远程库clone
git clone git@gitee.com:maodou95838_admin/a-test.git
6、分支管理
到现在为止,我们都是在master分支上操作。
6.1、checkout命令
# 创建并切换到dev
git checkout -b dev# 切换到master
git checkout master# 合并dev到master分支,注意:当前分支是master
git merge dev# 删除dev分支
git branch -d dev
6.2、switch命令
# 创建并切换到dev分支
git switch -c dev# 切换到master
git switch master
6.3、stash
当你在分支上工作,工作没做完又不能提交,现在要去别的分支上工作,此时stash就用上了。
# stash 用于暂存工作区
git stash# 查看工作区
git stash list# 恢复工作区并删除stash的内容
git stash pop
6.4、rebase
git rebase
- rebase操作可以把本地未push的分叉提交历史整理成直线。
- rebase的目的是使我们在查看历史提交的变化时更容易。
7、标签管理
# 当前提交打成v1.0
git tag v1.0# 查看
git tag# 给f12345提交打v0.2
git tag v0.2 f12345
创建的标签只存储在本地,不会自动推送到远程。要推送某个标签,使用:
git push origin v1.0
8、忽略本地文件
在工作区根目录添加.gitignore文件,添加配置即可,github上也有现成的,拿下来修改就行了。
一个简单的例子:
# Mobile Tools for Java (J2ME)
.mtj.tmp/# Package Files #
*.jar
*.war
*.nar
*.ear
*.zip
*.tar.gz
*.rar
8.1、检查.gitignore
git check-ignore -v .idea/
8.2、强制添加文件
git add -f Abc.class
8.3、排查个别文件
# 排查所有.开头的文件
.*# 不排除.gitignore
!.gitignore
9、配置别名
# 用st代替status
git config --global alias.st status# 后面使用git st相当于使用git status
git st
好了,git常用的操作就说完了,大家根据自己工作中的需要各取所需。
:)~