Git是一个强大的分布式管理系统:
- workspace :工作区
- index /stage : 暂存区
- Repository : 本地仓库
- Remote : 远程仓库
重要的特点:
- 每个人的仓库都是==一个完整的版本控制系统 ==
- 每一个整体又包含三部分:
- respository : 版本库包含branch
- index/stage 暂存区
- workspace 工作区 我们自己操作的地方;
正常的操作流程
- 从当前的版本库中拉取一个分支(只有通过分支提交到主干上) ------- git branch newbranch
- 首先将工作区的内容添加到 暂存区-------** git add . **
- 然后将暂存区中的内容 提交到respository中 (一个分支)中------ **git commit -m newbranch **
- 这个时候就已经提交到respository中的分支当中了,然后就需要主干自己去合并分支; -------** git merge newbranch **
- 这个时候就可以push到远程仓库了 ------- ** git push -u origin master **
git进行版本回退
- 利用 git log 进行查看版本目录
- 第一种是:git reset --hard HEAD^ 那么如果要回退到上上个版本只需把HEAD^ 改成 HEAD^^ 以此类推
- git reset --hard 版本号
git进行切换账号
- 查看git目前的账号
- git config user.name
- git config user.email
- 进行重新配置
- git config --global user.name /user.email
- ssh-keygen -t rsa -C “****@qq.com”
- 然后将生成的pub公钥添加到服务器
在编辑过程中出错想返回原来的版本(具体到一个文件)
- git checkout – filename
分支操作的常用命令
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
$ git branch -a
# 新建一个分支,并切换到该分支
$ git checkout -b [branch]
# 切换到指定分支,并更新工作区
$ git checkout [branch-name]
#从远程分支检出指定分支
$ git clone -b <branchname> <master>
# 合并指定分支到当前分支(主分支合并自定义分支)
$ git merge [branch]
# 删除分支
$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]
提交到远程仓库
- git clone 项目
- git checkout -b 分支名
- git add * 提交到暂存库
- git commit -m '只缺少自动回复的调用 oneversion‘ ;
- git push origin xueyongjie_verison_xxx;
git初始化
Git global setup
git config --global user.name “jasonxueyongjie”
git config --global user.email “jasonxueyongjie@didiglobal.com”
Create a new repository
git clone git@git.xiaojukeji.com:jasonxueyongjie/framework_foundation.git
cd framework_foundation
touch README.md
git add README.md
git commit -m “add README”
git push -u origin master
Existing folder
cd existing_folder
git init
git remote add origin git@git.xiaojukeji.com:jasonxueyongjie/framework_foundation.git
git add .
git commit -m “Initial commit”
git push -u origin master
Existing Git repository
cd existing_repo
git remote rename origin old-origin
git remote add origin git@git.xiaojukeji.com:jasonxueyongjie/framework_foundation.git
git push -u origin --all
git push -u origin --tags
将多个commit进行提交 : https://www.jianshu.com/p/4a8f4af4e803