git安装使用
一、概述
git常见命令使用,pull,、fetch、clone、checkout、push、commit、reset、merge等
git clone https://gitee.com/june2009/springmvc_demo.git //克隆远程仓库
git add . //添加文件
git commit -m "注释" //提交
git remote -v //查看远程库的详细信息
git checkout -b dev //创建并切换到分支dev
git merge dev (--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
git push -u origin master //将本地内容推送到远程仓库(第一次)
二、git下载安装
https://git-scm.com/downloads
根据系统选择,windonw选择**64-bit Git for Windows Setup.**
安装目录为英文,安装完成后,设置环境变量
具体安装教程,可参考:https://blog.youkuaiyun.com/sanxd/article/details/82624127
三、git配置使用
1.配置
GitHub、Gitee、gitlab任意平台上注册好账号,桌面右键选择Git Bash,进行账号配置,命令如下
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
执行命令后,检查可用git config --global --list查看是否配置成功。
git网上设置项目,可选择SSH公钥、https任意方式管理代码,推荐https;
*2、创建版本仓库
$ mkdir learngit //创建
$ cd learngit //使用
$ pwd //查看当前目录
$ git init //初始化,生成.git文件(若该文件隐藏,则使用ls -ah)
*3、把文件添加add和提交commit到版本库
$ git add test.txt //添加
$ git commit -m "wrote a test file" //提交
$ git commit -m "add 3 files." //一次性提交多个文件
4、删除文件
$ rm test.txt
//直接删除
$ git rm test.txt
$ git commit -m "remove test.txt"
//删错了,恢复
$ git checkout -- test.txt
*5、远程仓库
//SSH或者https两种方式
$ git clone git@github.com: Daisy/AKgit.git //克隆远程仓库
$ git push -u origin master //将本地内容推送到远程仓库(第一次)
$ git push origin master //将本地内容推送到远程仓库(之后)
$ ssh-keygen -t rsa -C "youremail@example.com" //创建SSH Key
$ git remote add origin git@github.com:Daisy/AKgit.git //关联
$ git remote -v //查看远程仓库信息
$ git remote rm origin //删除远程仓库(解绑)
//克隆之后使用和查看
$ cd gitskills
$ ls
$ git remote //查看远程库的信息
$ git remote -v //查看远程库的详细信息
*6、协作
$ git checkout -b dev //创建并切换到分支dev
//创建并切换到分支dev,同上
$ git branch dev //创建
$ git checkout dev //切换
//推送
$ git push origin master(dev) //推送分支
$ git checkout -b dev origin/dev //创建远程origin的dev分支到本地
$ git pull //抓取分支(解决冲突)
$ git branch --set-upstream-to=origin/dev dev//指定本地与远程dev的链接
$ git rebase //把本地未push的分叉提交历史整理成直线
//新版本
$ git switch -c dev //创建并切换到分支dev
$ git switch master //直接切换分支
$ git branch //查看当前分支
$ git merge dev (--no-ff)(-m)//合并,把dev分支的工作成果合并到master分支上
$ git branch -d dev //删除dev分支
$ git stash //将现场储藏起来
$ git stash list //查看储存的工作现场
//恢复和删除
$ git stash apply
$ git stash drop
//恢复并删除
$ git stash pop
$ git cherry-pick 4c805e2 //复制修改
7、标签管理
$ git tag v1.0 //打标签
$ git tag -a v0.1 -m "version 0.1 released" 1094adb //指定标签名和说明文字
$ git tag //查看所有标签
//若是忘记打,则查找历史提交commit id ,再打上
$ git log --pretty=oneline --abbrev-commit
$ git tag v0.9 f52c633
$ git show v0.9 //查看标签详细信息
$ git tag -d v0.1 //删除标签
$ git push origin v1.0 //推送标签到远程
$ git push origin –tags //一次性推送全部本地标签
//删除标签,(若已推送到远程,先从本地删除,从远程删除)
$ git tag -d v0.9
$ git push origin :refs/tags/v0.9
8、版本控制
$ git log //查看提交历史记录,从最近到最远,可以看到3次
$ git log --pretty=oneline //加参,简洁查看
$ git reflog //查看每一次修改历史
$ cat test.txt //查看文件内容
$ git status //查看工作区中文件当前状态
$ git reset --hard HEAD^(HEAD~100)(commit id) //回退版本
$ git checkout -- test.txt //丢弃工作区的修改,即撤销修改
$ git reset HEAD test.txt //丢弃暂存区的修改(若已提交,则回退)
9、自定义
$ git config --global color.ui true //让git显示颜色
//忽略特殊文件
//.gitignore文件
//忽略特殊文件
//.gitignore文件
# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini
# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build
# My configurations:
db.ini
deploy_key_rsa
//把该文件也提交到git
$ git add -f App.class //强制添加被忽略的特殊文件
$ git check-ignore -v App.class //检查哪个规则出错
# 排除所有.开头的隐藏文件:
.*
# 排除所有.class文件:
*.class
# 不排除.gitignore和App.class:
!.gitignore
!App.class
$ git config --global alias.st status //配置别名
$ git config --global alias.unstage 'reset HEAD' //配置操作别名
$ git config --global alias.last 'log -1' //显示最后一次提交信息
$ git last //显示最近一次的提交
$git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit" //颜色
$ cat .git/config //查看每个仓库的git配置文件
$ cat .gitconfig //查看当前用户的git配置文件
10、修改commit提交信息
- 修改最近一次的commit信息
-
git commit --amend
-
进入vim操作界面之后, 点击字母键 i 然后进入INSERT模式,然后对commit信息进行修改,然后ESC 然后 :wq 保存退出
-
然后执行 git log 会发现最近的一次commit信息被修改成功了
git 编辑vim模式
1.保存并退出:
(1)按 Esc 键退出编辑模式,英文模式下输入 :wq ,然后回车(write and quit)。
(2)按 Esc 键退出编辑模式,大写英文模式下输入 ZZ ,然后回车。
2.不保存退出:
按 Esc 键退出编辑模式,英文模式下输入 :q! ,然后回车。 按 Esc 键退出编辑模式,英文模式下输入 :qa! ,然后回车。
- git 修改已经提交到git远程仓库的commit信息
-
首先回撤到上一次提交,不修改本次提交的改动 git reset --soft HEAD~1
-
重新做一次提交 git commit -m “重新提交commit信息”
-
强推本地分支到远程仓库 git push -f origin master
-
查看远程仓库中的是否已经修改commit信息
注:使用IDEA或者android studio开发工具,可以直接修改commit信息
IDEA工具
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LYgJfiMM-1655363057536)(C:/Users/admin019/AppData/Roaming/Typora/typora-user-images/image-20220616145043898.png)]
android studio
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rp3YCe71-1655363057536)(C:/Users/admin019/AppData/Roaming/Typora/typora-user-images/image-20220616145310496.png)]
it -m “重新提交commit信息”
-
强推本地分支到远程仓库 git push -f origin master
-
查看远程仓库中的是否已经修改commit信息
注:使用IDEA或者android studio开发工具,可以直接修改commit信息
IDEA工具
[外链图片转存中…(img-LYgJfiMM-1655363057536)]
android studio
[外链图片转存中…(img-rp3YCe71-1655363057536)]
在开发工具idea/android studio 拉取最新分支,会出现拉取不到最新分支情况,此时可以使用fetch获取最新分支;