Git_Windows安装地址
1.Git中和Linux相同的常用指令
常用 Linux 命令整理:
文件查看命令:
ls:列出当前目录内容ll(即ls -al):显示包括隐藏文件在内的详细目录列表(隐藏文件以"."开头)
文件操作命令:
cat:查看文件内容touch:创建新文件vi:文本编辑器,用于创建或修改文件(打开文件后点击i键才能编写,之后点击esc打开操作保存并退出:esc:命令状态(:wq 保存并退出
:w 保存
:w! 强制保存
:q 退出
:q! 强制退出
:wq! 强制保存并退出)
)
2.安装
在官网下载之后只需要傻瓜式安装
安装成功的标志:
在桌面右键:
或在文件夹中右键:
出现Open Git GUI here 和 Open Git Bash here
2.1 Git工具说明
- Git GUI:Git 官方提供的图形界面操作工具
- Git Bash:Git 官方提供的命令行操作工具
2.1.1 Git GUI(图形用户界面):
- 提供可视化的操作界面,通过点击按钮和菜单完成 Git 操作
- 特别适合:
- Git 初学者快速上手
- 不熟悉命令行的开发人员
- 需要直观查看文件变更的场景
- 主要功能包括:
- 提交(commit)变更
- 创建分支(branch)
- 合并(merge)分支
- 查看提交历史
- 优势:操作直观,无需记忆命令
2.1.2 Git Bash(命令行工具):
- 基于 Unix/Linux 风格的命令行环境
- 特点:
- 支持完整的 Git 命令集
- 可以执行 shell 脚本
- 提供 Linux 风格的命令行工具
- 适合:
- 熟悉命令行的开发人员
- 需要执行复杂 Git 操作的场景
- 自动化脚本开发
- 典型使用场景:
- 批量处理多个仓库
- 执行高级版本控制操作
- 与其他命令行工具集成
3 基本配置
启动Git Bash终端
配置用户信息(以下信息仅为示例,可根据实际情况修改):
- 设置用户名:
git config --global user.name "itOu" - 设置用户邮箱(无需真实邮箱):
git config --global user.email "123456@itOu.com"
- 设置用户名:
验证配置信息:
- 查看用户名:
git config --global user.name - 查看用户邮箱:
git config --global user.email
- 查看用户名:
.常有指令配置
对于需要频繁输入多参数的命令,我们可以创建别名来简化操作。具体步骤如下:
- 在Windows系统中创建.bashrc文件(注意:某些终端不允许直接创建以点号开头的文件)
- 若遇到创建限制,可通过Git-Bash终端执行命令:
touch ~/.bashrc
在桌面创建
5.找到创建的bushrc文件
在文件中写入
#用于输出git提交日志 alias git-log='git log --pretty=oneline --all --graph --abbrev-commit' #用于输出当前目录所有文件及基本信息 alias ll='ls -al'6. 解决乱码(选写:可以解决大部分型号电脑的中文乱码)
- 在 Git 中执行以下命令:
git config --global core.quotepath false2.将以下内容添加到${git_home}/etc/bash.bashrc文件末尾:
export LANG="zh_CN.UTF-8" export LC_ALL="zh_CN.UTF-8"找的git安装路径:
4.实操
4.1 获取本地仓库
要使用 GIT 对我们的代码进行版本控制,首先需要获得本地仓库
1)在电脑的任意位置创建一个空目录(例如 test)作为我们的本地 Git 仓库
2)进入这个目录中,点击右键打开 Git Bash 窗口
3)执行命令 git init
4)如果创建成功后可在文件夹下看到隐藏的.git 目录.
一定要将显示中的隐藏项目打开不然是看不见这个隐藏文件夹.git!!!
4.2 基本操作
4.2.1、* 查看修改的状态(status)
- 作用:查看的修改的状态(暂存区、工作区)
- 命令形式:
git status
4.2.2、* 添加工作区到暂存区 (add)
- 作用:添加工作区一个或多个文件的修改到暂存区
- 命令形式:
git add 单个文件名|通配符- 将所有修改加入暂存区:
git add .
- 将所有修改加入暂存区:
4.2.3、* 提交暂存区到本地仓库 (commit)
- 作用:提交暂存区内容到本地仓库的当前分支
- 命令形式:
git commit -m '注释内容'
4.2.4、* 查看提交日志 (log)
在 3-5 中配置的别名git-log就包含了这些参数,所以后续可以直接使用指令git-log
- 作用:查看提交记录
- 命令形式:
git log [option]- options
--all显示所有分支--pretty=oneline将提交信息显示为一行--abbrev-commit使得输出的 CommitId 更简短--graph以图的形式显示
- options
4.2.5、版本回退
- 作用:版本切换
- 命令形式:
git reset --hard commitID- commitID 可以使用
git-log或git log指令查看
- commitID 可以使用
- 如何查看已经删除的记录?
git reflog- 这个指令可以看到已经删除的提交记录
其中commitID为唯一标识,就是图中开头黄色字段
4.2.6 添加文件至忽略列表
一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitignore的文件(文件名称固定),列出要忽略的文件模式。下面是一个示例:
# no .a files *.a # but do track lib.a, even though you're ignoring .a files above !lib.a # only ignore the TODO file in the current directory, not subdir/TODO /TODO # ignore all files in the build/ directory build/ # ignore doc/notes.txt, but not doc/server/arch.txt doc/*.txt # ignore all .pdf files in the doc/ directory doc/**/*.pdf4.2.7 分支
几乎所有的版本控制系统都以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来进行重大的 Bug 修改、开发新的功能,以免影响开发主线。
4.2.7.1、查看本地分支
- 命令:
git branch
4.2.7.2、创建本地分支
- 命令:
git branch 分支名
4.2.7.4、* 切换分支 (checkout)
- 命令:
git checkout 分支名 - 我们还可以直接切换到一个不存在的分支(创建并切换)
- 命令:
git checkout -b 分支名
- 命令:
4.2.7.6、* 合并分支 (merge)
一个分支上的提交可以合并到另一个分支
- 命令:
git merge 分支名称
4.2.7.7、删除分支
不能删除当前分支,只能删除其他分支
git branch -d b1删除分支时,需要做各种检查git branch -D b1不做任何检查,强制删除
4.2.7.8、解决冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:
- 处理文件中冲突的地方
- 将解决完冲突的文件加入暂存区 (add)
- 提交到仓库 (commit)
4.2.8 冲突
当两个分支上对文件的修改可能会存在冲突,例如同时修改了同一个文件的同一行,这时就需要手动解决冲突,解决冲突步骤如下:
- 处理文件中冲突的地方
- 将解决完冲突的文件加入暂存区 (add)
- 提交到仓库 (commit)
冲突部分的内容处理如下所示:
5. 建立远程仓
5.1 配置SSH公钥
- 生成 SSH 公钥
ssh-keygen -t rsa- 不断回车
- 如果公钥已经存在,则自动覆盖
- Gitee 设置账户公钥
- 获取公钥
cat ~/.ssh/id_rsa.pub
- 验证是否配置成功
ssh -T git@gitee.com
- 获取公钥
5.2建立联系
右键点击你创建的本地仓库,选择打开 Git 命令行
输入以下命令添加远程仓库:git remote add origin git@gitee.com:ouyanghao-ou/git_test.git
其中origin是自定义的远程仓库名称
输入:git remote查看是否添加成功
上传git push origin master
5.3 推送到远程仓库
命令:git push [-f] [--set-upstream] [远端名称] [本地分支名]:[远端分支名]
- 如果远程分支名和本地分支名称相同,则可以只写本地分支
git push origin master
-f表示强制覆盖--set-upstream推送到远端的同时并且建立起和远端分支的关联关系。git push --set-upstream origin master
- 如果当前分支已经和远端分支关联,则可以省略分支名和远端名。
git push将 master 分支推送到已关联的远端分支。
5.3.1、本地分支与远程分支的关联关系
- 查看关联关系可以使用
git branch -vv命令
示例终端输出:
zhang@zhangmeng MINGW64 ~/Desktop/git-test/test01 (master) $ git branch -vv b2 80aba30 [origin/b2] 在b2分支修改file02 b3 975a5b6 [origin/b3] 完成第xxxx个功能 *master 664d35c [origin/master] 将要推送到远程仓库的修改5.3.2、从远程仓库克隆
如果已经有一个远端仓库,我们可以直接 clone 到本地。
- 命令:
git clone <仓库路径> [本地目录]- 本地目录可以省略,会自动生成一个目录
示例终端操作:
zhang@zhangmeng MINGW64 ~/Desktop/git-test $ git clone https://gitee.com/czbk_zhang_meng/git_test.git 1-克隆远程仓库到本地 Cloning into 'git_test'... remote: Enumerating objects: 34, done. remote: Counting objects: 100% (34/34), done. remote: Compressing objects: 100% (28/28), done. remote: Total 34 (delta 13), reused 0 (delta 0) Unpacking objects: 100% (34/34), done. zhang@zhangmeng MINGW64 ~/Desktop/git-test $ ls git_test/ test01/5.4 .获取远程仓库数据
远程分支和本地的分支一样,我们可以进行 merge 操作,只是需要先把远端仓库里的更新都下载到本地,再进行操作。
抓取命令:
git fetch [remote name] [branch name]- 抓取指令就是将仓库里的更新都抓取到本地,不会进行合并
- 如果不指定远端名称和分支名,则抓取所有分支。
拉取命令:
git pull [remote name] [branch name]- 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于
fetch+merge - 如果不指定远端名称和分支名,则抓取所有并更新当前分支。
- 拉取指令就是将远端仓库的修改拉到本地并自动进行合并,等同于
6.在idea中使用git
第一步打开设置:
第二步找到版本控制并找到其中的Git:
第三步正常安装的git会被自动识别可以点击test进行测试
之后点击确认。
第四步在你要上传的地方创建远程仓(gitee,github)
我使用的是gitee:
点击用户左边的加号会有一个下拉框,点击创建仓
之后输入仓的名字让后确认就可以别的不用管
第五步:在idea中打开一个项目
第六步:在项目中添加一个.gitignore文件
第七步:点击VCS中的创建git仓
点击绿色的对勾
选择你要提交的项目提交,提交过程中的报错idea编译是正常的点击任然提交就可以
让后选择git中的推送
要定义一个远端
返回远程仓选择ssh的地址
最后点击推送。远程仓就有了