总结一下 Git 使用方式
安装
-
可以在官网上下载安装
-
安装完之后,可以先设置一下 name 和 email
-
打开终端
git config --global user.name "name"
git config --global user.email "email"
- git 查看当前用户信息
git config user.name
git config user.email
工作区和暂存区
-
如果你想要本地创建一个 Git 仓库, 初始化仓库
git init
-
添加到暂存区
git add . 添加所有文件 git add 要添加的文件名
-
添加到历史区
git commit -m '这里写描述, 描述你添加的内容'
-
推送到远程仓库
git push origin master // origin 这里是默认的名称,当然你也可以起一个别的名称 // master 要提交的分支名称 // 加 -u 设置后, 推送到远程仓库 可以简写成 git push git push origin master -u (第一次推这么写) 之后就是使用 git push
查看当前提交的版本信息
-
git log
-
git log --oneline => git log 版本信息太长,加 --oneline 只查看文件的版本号和提交信息
回滚操作 将历史区的一个版本覆盖掉当前的工作区
- 首先看一下回退到那个版本的 ID
git log
- 执行回滚操作 回滚到执行版本
git reset --hard 版本号(ID)
- 回滚到上一个版本
git reset --hard HEAD^
git reset HEAD~1 // 也是回到上一个版本
-
注意这个操作是直接把原来的东西覆盖了,覆盖之后就找不到了,也查不到历史记录。
-
另外说一下在工作中可能遇到的问题 比如: 我想回到之前的一个版本,但是还想保留这个版本的代码,就可以执行下面这个命令
git reset --mixed 版本号
管理分支
- 创建分支
git branch 分支名
- 查看项目中有哪些分支
git branch
- 删除分支
git branch -D // 删除不了本身分支,要先切换到其它分支
- 切换分支
git checkout 分支名
- 快捷创建方式:
git checkout -b 分支名 // 主分支有提交才能用这个命令,不然会把这个分支当成主分支了
关联仓库
- git remote add origin(名字,可以随便起) 地址(git仓库的地址)
查看当前项目关联的 Git 仓库
- git remote -v
删除当前关联的仓库
- git remote remove origin(名称)
创建 Git 忽略文件
- 项目中创建 .gitignore 文件, Git 提交的时候需要忽略的文件
查看当前 Git 的状态
- git status
整理 commit
-
整理 commit 在工作中也是需要的,当合并到主分支之前,删除掉 commit 中无意义的提交
-
整理 commit 可以有几种方式
-
git rebase
-
先查看提交历史 git log
-
比如要合并 1-3 条, 有两个方式
-
git rebase -i HEAD~3
-
git rebase -i 版本号 (注意: 这个版本号是不参与合并的,可以把它当做一个坐标参考)
-
-
选取要合并的提交
- 执行完 rebase 命令后,会有以下提示
pick 1b34311 '描述内容' pick 523411a '描述内容'
- 将 pick 改为 squash 或者 s,之后 control + c 保存并且关闭文本编辑窗口即可 关闭命令是:wq
pick 1b34311 '描述内容' s 523411a '描述内容'
- 然后保存退出, Git 会压缩提交历史,如果有冲突,需要修改,修改时注意,保留最新的历史,不然修改的就会丢失了。 修改以后敲以下命令:
git add . git rebase --continue
如果想放弃这次压缩的话,执行以下命令:
git rebase --abort
- 如果没有冲突,或者已经解决冲突,会出现编译窗口:
This is a combination of 3 commits. #The first commit’s message is: 注释...... # The 2nd commit’s message is: 注释...... # The 3rd commit’s message is: 注释...... # Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.
-
删除没用的 commit ,保留想要存储的 commit 然后保存,退出编译窗口,输入 git log 查看 commit ,发现就已经合并了。
-
然后提交的 GitHub 或者其它的 git 仓库 ,会提示跟线上有冲突,这是你要强行把你本地修改的推上去 ,执行下面这个命令:
git push -f origin master
-
-
还有一种方式,也可以整理 commit 就是用 git reset --mixed 版本号
-
为什么 --mixed 可以整理那?
-
因为 --mixed 可以保留你的代码,压缩到你指定的版本,也会把多个 commit 压缩成一个 commit,所以理论上它也是可以整理 commit 的。
网友评论