Git

一. 工作流程

1. 工作流程

1. 只要被git管理了,只要文件发生变化(新增,删除,修改),使用git就能看到它变成红色

2. 工作区的变更,要提交到暂存区,变绿色

3. 从暂存区提交到版本库,才会被版本管理,一旦被版本管理了,后期可以回退到某个版本

4. 可以把版本库的内容,提交到远程仓库,统一管理起来【所有开发者都可以提交】

5. 本地可以拉去远程的代码

6. 本地可以把本地代码提交到远程

注意点:

1. 有红色信息(工作区有内容),就执行 add

2. 全绿信息(内容全部在暂存区),才执行 commit

3. 只有被版本库控制的代码,才能被监听,所以可以回滚到任何一个版本

2. 流程图

image

二. 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)图示

image

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

image

四. 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
posted @ 2023-04-18 20:13  codegjj  阅读(42)  评论(0)    收藏  举报