一、Git
Git简介:
- Git是基于开源的分布式版本控制系统,可以高效管理大、小型的项目。
- 基于Linux内核而开发的系统。
- 与其相关的其他版本控制系统,如集中式(SVN),Git的出现颠覆了其他版本控制系统。
- Git优点在于它在本地上有本地仓库(分布式),即使中央仓库宕机也可以快速的将其恢复
- 目前Git的主要托管平台,国外GitHub.com,国内gitee.con码云。
基本操作步骤(示例):
- 打开Git Bash Here命令行窗口,切换到指定要创建本地仓库的路径,命令:cd 【目标路径】
- 创建本地仓库目录,命令:mkdir 【库名】
- 初始化本地仓库,命令:git init,初始化后,查看当前目录是否有“.git目录”,.git目录默认为隐藏状态,需要设置显示隐藏文件使其显示。 查看git状态,命令:git status -s
- 在本地仓库中添加新的文件,【文件名】.txt,使用git status -s命令查看状态(可以使用touch 【新文件名】 创建文件)
- 执行git add.(".":表示所有文件添加到暂存区),git add【指定的文件名】,将指定的文件添加到到缓存区。再次执行git status -s 查看状态。
- (插入下面备注信息)
- 将文件提交到本地仓库,命令:git commit -m "【提交的备注信息】"
- 与远程仓库进行同步,命令:git remote add origin | Https://gitee.com/上传地址.git"
- 从远程仓库主干上拉取最新,避免冲突,命令:git pull --rebase origin 【分支的名称】
- git push -u origin 【分支的名称】:向远程仓库推送项目
备注:
- 绑定邮箱:git config --global user.email"邮箱地址"
- 绑定用户名:git config --global user.name"用户名"
使用Git推送idea创建的Java项目
- 在项目的目录下进行本地衬裤初始化,进入项目的主目录下,执行git init
- 创建忽略文件“.git ignore”,命令 vim.gitignore
- .gitignore文件进行编辑,按insert键进入编辑状态,文件忽略的内容:idea,target,*.log,*.iml,编辑完成后,按ESC键退出编辑状态,保存并退出(:wq)
- 将项目文件添加到暂存区,命令:git add.(后续操作重复上述)
创建分支:
- 可以在远程仓库上从mastert主干上直接创建分支
- 本地通过命令创建分支,命令:git branch 【分支名称】
- 备注:本地创建的分支需要执行命令:git push origin 【分支名称】,将分支推送到远程,远程方可查看所创建的分支
- 可以本地通过命令查看所创建的分支,命令git branch.
- 切换分支,git checkout 【分支名称】。
- 切换分支后,在当前的分支下添加新的文件,命令:touch preFirst.txt,使用vi preFirst.txt编辑文件内容,保存退出。
- (后续操作重复上述步骤五其后),最后向分支上推送,命令:git push -u origin 【分支名称】,推送后,在远程上查看当前分支有新的推送,对于主干和其他分支没有任何影响。
- 分支向自己推送后,需要切换到master主干上,命令:git checkout master
- master主干合并分支,命令:git merge 【分支名称】
- master合并分支后,需要再次向自己推送,命令:git push -u origin master,刷新master主干查看合并结果。
退出方法:
先切换为英文输入法:然后按ESC, 输入冒号: , 然后输入wq, 然后回车
编辑: 建议使用编辑器吧
Vim主要有如下两种模式:
(1).Normal 模式。
(2).Insert 模式。
Normal 模式:
(1).点击ESC键或者Ctrl + [组合键进入此模式。
(2).又称作为命令模式。
(3).此模式下无法输入内容,但是可以赋值黏贴,保存或者退出。
(4).此模式下,按下:w表示保存,:q表示离开(如果未保存会有提示),:wq表示保存并离开。
Insert 模式:
(1).点击i、a 或 o 键可以进入此模式。
(2).i表示在光标当前位置插入,a表示在光标下一个位置插入,o表示在新一行插入。
(3).I表示在行首插入,A表示在行尾插入。
配置
git config --global user.name "<姓名>"
设置提交者姓名。git config --global user.email "<邮箱>"
设置提交者邮箱。
基础操作
git init [目录名]
在指定目录创建仓库,如果没有指定目录名
将在当前目录创建仓库。git clone <远程仓库地址> [目录名]
从指定地址克隆仓库,若不指定目录名
将默认创建与远程同名目录。git add <目录名|文件名>
将文件或目录中已修改的代码添加追暂存区。git commit -m "<注释>"
提交暂存区内容。git status
查看仓库状态
比对 diff
git diff
比对当前内容和暂存区内容。git diff HEAD
比对当前内容和最近一次提交。git diff HEAD^
比对当前内容和倒数第二次提交。git diff HEAD^ HEAD
比对最近两次提交。
历史 log
git log [--oneline] [--all]
查看提交历史。git log --oneline
打印为单行log。git log --all
打印所有记录(忽略HEAD的位置)。git log --graph
打印示意图(忽略HEAD的位置)。
分支 branch
git branch [分支]
有分支
:创建分支,无分支
:列出所有分支。git checkout <分支>
切换至分支
。git checkout -b <分支>
创建并切换至分支分支
。git merge <分支>
将分支
与当前分支合并。
远程
git pull
拉取远程仓库。git push <远程仓库> <分支>
推送至远程仓库。git remote add origin https://xxx.git
新增远程仓库origin
git remote set-url origin https://xxx.git
修改远程仓库origin
参考资料:
表严肃·Git教程:https://biaoyansu.com/27.cheatsheet(以上笔记大部分引用 — 表严肃课程笔记)
Git下载&安装:https://www.cnblogs.com/xueweisuoyong/p/11914045.html
二、GitHub
—— 要多思考健康,要多讨论健康。