1、功能
1、版本控制:可以追踪代码的变更记录,并且可以看到修改的内容,以及版本的回溯
2、分支管理:可以让我们同时处理多个任务,并且不会影响稳定的分支(主分支)
3、团队协作:可以让多人协同开发,并且在没有相互影响的条件下独立完成工作
4、代码审查、知识wiki等
2、主流代码仓库
- github
- gitee
- gitlab
3、 git使用
git官网
3.1 git配置
1、配置全局用户名和邮箱:
git config --global user.name "你的名字"
git config --global user.email 你的邮箱
2、查看配置:
git config user.name
git config --list
3、配置 SSH 密钥:
如果没有生成过 ssh key 需要先生成 key
ssh-keygen.exe -t rsa -C "你的邮箱" #windows生成方法
ssh-keygen -t rsa -C "你的邮箱" #linux生成
4、之后把公钥放置在仓库(Gitee 为例,账户自行注册)
找到设置的位置,然后按照下面部分去修改。
3.2 git仓库管理
#把仓库克隆到本地
git clone git@gitee.com:***.git
#创建一个文件并上传
git add .
git commit -am "first commit"
git push origin master
#提交已有的代码至新仓库
git init
git add README.md
git commit -m "first commit"
git remote add origin git@gitee.com:***.git
git push -u origin "master"
3.3 git基础命令
#克隆远程已有的仓库至本地
git clone 远程地址
#更新本地代码(拉取远程仓库中的新代码到本地)
git pull <shortname> <remote_branch>:<local_brach>
#添加所有修改的文件,但不包含删除文件到暂存区
git add .
#添加所有修改的文件以及删除的文件到暂存区
git add -A (--all)
#添加单个或者多个文件/目录到暂存区
git add file1/dir1 file2/dir2
#从文件从暂存区提交至本地仓库
# -a: 类似于 git add,但是不包含新添加的文件
# -m: 注释内容
git commit -am "提交信息"
#把本地仓库的代码提交至远程仓库
git push <shortname> <remote_branch>
3.4 Git分支管理
# 创建分支(不常用)
git branch NEW_BRANCH_NAME
# 切换分支
git checkout BRANCH_NAME
# 创建分支并切换到新分支(常用):
git checkout -b NEW_BRANCH_NAME
# 查看本地仓库所有分支:
git branch
# 查看远程仓库的所有分支:
git branch -r
# 查看远程和本地所有分支:
git branch -a
# 同步新分支到远程仓库
git push origin NEW_BRANCH_NAME
# 删除分支:
git branch -d BRANCH_NAME
# 强制删除分支:
git branch -D BRANCH_NAME
# 删除远程分支:
git push origin --delete BRANCH_NAME
# 合并分支:
git merge BRANCH_NAME
3.5 Git版本管理
# 查看代码提交记录:
git log
# 查看当前环境文件变更状态:
git status
# 查看修改了什么内容:
# 还可以直接对比两个版本的差异:
git diff COMMIT_ID COMMIT_ID
# 撤销单个文件的修改:
git checkout -- FILE_NAME
# 撤销所有文件的修改:
git reset --hard
# 回滚到某个版本:
git reset --hard 4cd8a3b9f2e19111cda949b792ed8f3bd22795fd
# 把回滚的内容强制推送到远程仓库:
git push origin master --force