工作机制
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/7f83084e81e1f4a7b2f3af1c2ef96711.png)
工作区(写代码) ----> 暂存区(临时存储) ----> 本地库(历史版本) ----> 远程库(GitLab、GitHub、Gitee)
git add git commit push
代码托管中心(远程库)
代码一旦提交到本地库就会生成历史版本,无法删除了。
1. 本地库,暂存区管理
命令 | 含义 |
---|
git config --global user.name 用户名 | 设置用户签名 |
git config --global user.email 邮箱 | 设置用户签名 |
git init | 初始化本地库 git获取当前目录的管理权限 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git rm --cached … | 从暂存区中删除文件 |
git commit -m “日志信息” 文件名 | 提交到本地库 |
git reflog | 查看历史记录 |
git reset --hard 版本号 | 版本穿梭 |
2. 分支管理
分支可以简单理解为副本,一个分支就是一个单独的副本。分支底层其实也是指针的引用。
分支之间互不影响,主分支供生产正常使用,其余分支可以修改副本,最后归到主分支即可。
命令 | 含义 |
---|
git branch 分支名 | 创建分支 |
git branch -d 分支名 | 删除分支 |
git branch -v | 查看分支 |
git checkout 分支名 | 切换分支 |
git merge 分支名 | 把指定的分支合并到当前分支上(需要在当前分支执行) |
- 正常合并,就直接在当前分支下合并即可
- 合并冲突的情况:
- 如果主分支和其他分支对同一个文件的同一个位置进行了修改,当合并分支时git会不清楚到底,保存哪个分支修改的内容,会抛出异常,并且后面状态会有MERGING
- 解决冲突:
- (1)可以在要合并到当前主分支下对文件进行修改,对特殊符号和内容进行人工删减
<<<<<<< HEAD 当前分支的代码 ======= 合并过来的代码 >>>>>>> hot-fix - (2)添加到暂存区
- (3)提交本地库。注意:此时使用git commit 命令时不能带文件名
3. 远程库管理
命令 | 含义 |
---|
git remote -v | 查看当前所有远程地址别名 |
git remote add [别名] 远程地址 | 起别名 |
git push [别名] 分支名 | 推送本地分支上的内容到远程仓库 |
git clone 远程地址 | 将远程仓库的内容克隆到本地,注意别开梯子,clone会做如下操作:1. 拉取代码 2. 初始化本地库 3. 创建别名origin |
git pull 远程库地址别名 远程分支名 | 将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并 |