Git
一. 工作流程
1. 工作流程
1. 只要被git管理了,只要文件发生变化(新增,删除,修改),使用git就能看到它变成红色了
2. 工作区的变更,要提交到暂存区,变绿色了
3. 从暂存区提交到版本库,才会被版本管理,一旦被版本管理了,后期可以回退到某个版本
4. 可以把版本库的内容,提交到远程仓库,统一管理起来【所有开发者都可以提交】
5. 本地可以拉去远程的代码
6. 本地可以把本地代码提交到远程
注意点:
1. 有红色信息(工作区有内容),就执行 add
2. 全绿信息(内容全部在暂存区),才执行 commit
3. 只有被版本库控制的代码,才能被监听,所以可以回滚到任何一个版本
2. 流程图

二. git 文件过滤
以后提交过程中,有些文件时不想被提交,可以使用过滤文件。
新建 .gitignore 文件,过滤内容如下:
# 项目中所有a.txt文件都会被过滤
a.txt
# 只有根目录下a.txt文件会被过滤
/a.txt
# 只有根目录下的b文件夹下的a.txt文件会被过滤
/b/a.txt
# 名字中有一个x的都会被过滤
*x*
空文件夹不会被提交,空包会被提交,包可以被提交(包中有一个init空文件)
三. 案例
1. 提交流程
(1)代码
问题: 现在想把本地项目推送到远程仓库。代码如下:
如果已经建立连接,只需 3 4 5 步骤即可
# 1. 初始化本地仓库,让本地仓库成为 git 仓库。
git init
# 2. 与远程仓库建立连接: git remote add origin <远程仓库地址>
git remote add origin https://gitee.com/codegjj/mytext.git
# 3. 提交代码到本地仓库
git add .
git commit -m '<解释>'
# 4. 拉取远程代码与本地代码合并
# 每次提交【推到远端】代码之前,拉一下代码,保证本地的版本库跟远端保存一致,避免冲突。
git pull origin master
# 5. 把本地代码推到远程仓库
git push origin master
(2)图示

2. 解决冲突
当 git pull 拉代码时可能会有冲突,
项目文件会发生变化,如图所示:
解决冲突后再进行提交
# 1. 保存本地更改
git stash
# 2. 拉取远程更改
git pull origin master
# 3. 恢复本地更改
git stash pop
# 4. 解决冲突
# 手动编辑冲突文件,保存更改
# 5. 提交更改
git add . 或 <git add 具体文件1 具体文件2>
git commit -m "解决冲突并合并更改"
git push origin master

四. git常用命令
# 配置用户信息 【如果局部没有,使用全局,如果全局也没有,会报错】
# -局部配置---> 只针对于当前仓库--> 位置: 当前仓库.git文件夹下的config中
git config user.name 'aaa'
git config user.email '123@qq.com'
# -全局配置---> 针对于所有仓库---> 位置: C:\Users\用户文件夹\.gitconfig新建用户信息,在所有仓库下都可以使用
git config --global user.name 'aaa'
git config --global user.email '123@qq.com'
初始化仓库
git init
添加文件到暂存区
git add [file]
提交更改
git commit -m "commit message"
查看当前分支
git branch
创建新分支
git branch [branch-name]
切换分支
git checkout [branch-name]
合并分支
# 当前在 master 分支 ----> git merge dev ----> 将dev分支的内容合并到了 master 上了
git merge [branch-name]
删除分支
git branch -d [branch-name]
拉取远程仓库更新
# git pull [remote-name] [branch-name]
git pull origin master
推送到远程仓库
# git push [remote-name] [branch-name]
git push origin master
查看提交历史
git log
git reflog
查看文件更改差异
git diff [file]
查看当前状态
git status
重置到最后一次提交
git reset
查看分支合并图
gitk
配置 Git 用户信息
git config --global user.name "[name]"
git config --global user.email "[email]"
查看远程仓库地址
git remote -v
添加远程仓库
git remote add [remote-name] [url]
删除远程仓库
git remote rm [remote-name]
重命名分支
git branch -m [new-branch-name]
检出某个特定的提交
git checkout [commit-hash]
创建并切换到新分支
git checkout -b [branch-name]
比较两个分支的差异
git diff [branch1] [branch2]
拉取特定分支
git fetch [remote-name] [branch-name]
重命名本地分支
git branch -m [old-branch-name]
查看已跟踪文件的大小变化
git count-objects -v

浙公网安备 33010602011771号