git是什么
git是一个分布式版本控制工具,github是代码托管平台。
git有什么用
-
保存文件的所有修改记录
-
使用版本号进行区分
-
随时可浏览历史版本记录
-
可还原到历史指定版本
-
对比不同版本的文件差异
为什么要用git?
-
多人协作开发一个大型项目
-
每个人都在代码库下载代码,然后进行修改,把大家不同版本的代码合并上传到平台
-
公司都会有自己的代码托管平台,github是开源的,免费学习,参与知名项目
-
为协作开发而生的,公司都在使用,不得不学
要学什么?怎么用
基本概念
仓库
仓库分为远端仓库和本地仓库
远端仓库
- git init --bare
本地仓库
- git clone ...
协议
-
http
-
ssh
使用ssh公钥登录GIT服务器
生成公钥和私钥(ssh-keygen -t rsa
)
安装openssh server(可省略)
复制公钥内容到远端服务器 .ssh/authorize_keys
git clone
- git
设置用户名和密码
局部
使用git config user.name mark
设置用户名
设置邮箱使用 git config user.email [email protected]
git config --local -l
全局
使用 git config --global user.name mark
设置用户名
使用git config --global user.email [email protected]
设置邮箱
git config -l
本地工作区
就是我们使用git init或 git clone 所在的路径
暂存区
使用 git add <源码文件>
添加到暂存区
本地仓库
使用git commit .
添加到本地仓库
远程仓库
使用git push orgin master
推送到远端服务器
版本号
通过 git log
查看我们的提交记录·里面有我们的版本号
head
当前检出记录的符号引用
基本操作
-
暂存(git add)
-
提交(git commit)
-
推送(git push)
-
拉取(git fetch)
-
拉取合并(git pull)
git fetch
git merge
-
查看状态(git status)
-
查看历史(git log)
git reflog
逆向操作
-
index -> workspace git (git restore -S 源码文件)
-
本地仓库 -> index (git reset --soft)
-
本地仓库 -> workspace(git reset --mixed)
-
本地仓库 ->null(git reset --hard)
-
workspace ->null(git checout、git checkout --file、git checkout -f)
本地仓库整理操作
-
整理上一次提交(git commit --amend)
-
整理多次提交(git rebase -i h1 h2、左开右闭)
-
没有人基于你的分支开发(从变基那个节点开始往后的所有节点的commit id都会变化、会引起其他人冲突)
分支操作
- 查看分支(git branch)
- 创建分支(git branch develop 创建、git chect out -b develop 创建并切换)