简单做一个笔记吧,详细地,见Git官方文档( https://git-scm.com/doc)。
简介
Git是一个免费的开源分布式版本控制系统。
Github是世界上最大的代码托管平台。
Gitlab也是基于Git的代码托管平台。
Gitee是开源中国(OSChina)推出的基于Git的代码托管服务。
Git
图片来源于(菜鸟教程)
版本创建
- git init 项目名,直接在当前目录下创建由git管理的项目
- git init,直接将所在的项目交由Git管理
- git add fileName,将此文件添加到git的暂存区
- git add . (点),将所有的新建文件调价到git暂存区
- git rm fileName,将文件移除git管理
- git mv fileName newFileName,移动或重命名一个文件
- git status,查看(工作区、暂存区等)状态
- git log,查看版本记录
- git log --pretty=online,查看简洁的版本记录
10.git log --graph --pretty=online,查看分支图解 - git reflog,查看操作记录
版本管理
head指向当前branch的最新版本,head^ 表示前一个版本,head^^ 表示前两个版本,head~1也表示head的前一个版本。
11. git reset 版本号,回退版本,也可以前进版本(慎用)
12. git checkout --fileName,丢弃工作区中本文件未添加到暂存区中的改动(慎用)
13. git checkout .(点),丢弃工作区中所有未添加到暂存区中的改动(慎用)
14. git reset HEAD fileName,取消暂存
15. git diff 版本1 版本2 --fileName,比较两个版本中文件的不同,可以不加文件名
16. git diff 版本1 版本2 --name-status,只查看文件列表的差异
分支管理
- git branch,查看分支
- git branch -r,查看远端分支
- git branch -a,查看本地和远端全部分支
- git branch -d branchName,删除分支
- git branch branchName,创建分支
- git checkout -b branchName,创建并切换分支
- git checkout branchName,切换分支
- git merge branchName,合并分支(可能使用快速合并)
- git rebase branchName,另一种方式合并分支(两种分支合并各有优劣)
- git stash,保存(未提交的工作现场)
- git stash list,列出保存的现场
- git stash pop,回复工作现场
Github、Gitee、Gitlab
- 生成SSH密钥:ssh-keygen -t rsa -C “邮箱地址”,并在Github、Gitee、Gitlab的设置中添加个人公钥。
- git clone URL,克隆项目到本地
- git remote -v,查看当前的远程仓库
- git remote add URL,添加远程仓库,需要后跟git push
- git push origin branchName,推送到远程仓库
- git branch --set-upstream-to=被跟踪的远程分支 本地分支,表示本地的某分支会跟踪远程的某分支
- git pull 远程分支(如origin dev),表示从远程dev分支拉去代码到本地
- git pull origin remote_branch:local_branch,从远端获取某个分支的更新,再与本地指定分支进行合并
- git fetch origin remote_branch:local_branch,从远端服务器中获取某个分支的更新到本地仓库,用户确定内容是否符合预期再决定是否手动合并