Git安装及使用图文教程详解(附带安装文件)
原创:丶无殇 2023-06-26
本文使用v2.39.1.windows.1
版本的软件
GitHub:Git-2.39.1-64-bit.exe
阿里云盘:Git-2.39.1-64-bit.exe
官网:https://git-scm.com/download/win
执行程序,或者在桌面空白处右击,选择Git Bash Here
:
输入git -v
或者git --version
后回车,可以查看当前版本,显示当前版本信息
以下介绍经常使用的功能
指令 | 作用 |
---|---|
【首次必须】git config --global user.name 用户名 | 设置签名用户 |
【首次必须】git config --global user.email 邮箱 | 设置签名邮箱 |
git init | 初始化本地库 |
git status | 查看本地库状态 |
git add 文件名 | 添加到暂存区 |
git commit -m " 日志信息 " 文件名 | 提交到本地库 |
git reflog/log | 查看历史记录 |
git reset --hard 版本号 | 版本切换 |
设置用户名、设置邮箱名、查询用户名、查询邮箱名:
git config --global user.name USERNAME //设置用户名
git config --global user.email EMAIL //设置邮箱
git config --global user.name //查询用户名
git config --global user.email //查询邮箱
git config -l //查看全部配置信息
git congig --global --list|-l //查看全局信息
此配置文件.gitconfig
可以在C:\Users\Administrator
中看到:
设置签名的作用主要为了区分操作者的身份,用户的签名在每次的提交记录中能看到
*注:必须设置用户签名,否则无法提交代码
指令:git init
会生成.git
文件夹,如果没有显示,需要勾选文件显示设置中的:显示隐藏文件夹
初始化完成后,此路径会被标记为master
主分支
指令:git status
可以手动添加文件进来,也可以使用指令操作,详情参考:创建文件指令
此处演示vim
创建的方式
指令:vim a.txt
,然后按i
进入编辑模式,按Esc后yy
复制,p
粘贴
编辑完成,按Esc后输入:wq
退出,此时使用ll
指令,显示文件,会发现已经创建了a.txt
文件
此时使用git status
查看状态,会发现文件还没有提交,也不在暂存区(未被追踪的文件)
指令:git add FILENAME
比如添加刚刚的a.txt
到暂存区,可以使用指令:git add a.txt
绿色字体上面提示了如何清除暂存区的文件,使用指令:git rm --cached
指令:git commit -m "MESSAGE" (FILENAME)
提交完成后,git status
中的工作树是干净的
其中,第4点和第5点可以合并为一条指令:git commit -am "MESSAGE"
查看版本信息:git reflog (-n)
查看详细信息:git log (-n)
reflog
可查看所有历史记录,包括提交、切换和删除,log
可查看详细历史记录到当前HEAD
所指向的记录
如果历史记录比较多,可以通过-n
来显示前n行记录,当记录很多的时候,会显示:
,按回车可以继续显示,按Q
退出
如果觉得git log
显示的信息太多,可以使用git log --pretty=oneline
指令:git reset --hard 版本号|HEAD@{index}
比如多次提交后,发现需要回到之前提交的版本去做,就可以使用版本切换,当前a.txt
如下:
比如标记为HEAD@{2}
,这里的表示距离当前版本2
次前的记录,版本号为a0f42be
HEAD
已经指向版本号a0f42be
,并且a.txt
中已经变成之前的内容
如果要退回上一个版本,可以使用git reset --hard HEAD^
如果退回上两个版本,可以使用git reset --hard HEAD^^
还可以使用个数n
来,可以使用git reset --hard HEAD~n
未提交的操作版本,可以使用git checkout -- 文件名(路径)
,也可以使用git rm --cached 文件名(路径)
删除缓存区文件
指令:git branch -v
指令:git branch 分支名
指令:git checkout 分支名|版本号
切换分支,激活的分支高亮显示,并且命令提示符末尾分支名也变了
指令:git merge 分支名
将分支名
合并到当前分支,如果没有冲突,则可以合并成功,如果有冲突,需要人为修改后提交合并
解决冲突
然后合并之后,查看这个文件,会有特殊标记,删除特殊标记,决定要使用的内容
特殊符号:
<<<<<< HEAD //需要删除
当前分支的代码 //A:选择一个保留
======= //需要删除
合并过来的代码 //B:选择一个保留
>>>>>>> 合并的分支 //需要删除
AB两处冲突的内容,选择好保留的记录,其他的删除,指令模式输入DD
可以快速删除一行,操作完成后保存
指令:git cherry-pick 提交ID1 提交ID2…
首先切换到需要合并到的分支,然后执行指定的提交ID
,可以是多个分支,当没有冲突的时候,合并完成,当有冲突的时候,会提示如下:
需要按照前面内容修改冲突内容后再次提交,也可以撤销此次提交操作,撤销指令:git cherry-pick --abort
冲突文件修改好了之后提交,会有cherry-pick
的标记:
指令:git diff 当前分支 其他分支
指令:git tag 版本号
一般版本可以使用v1.0.1
这种格式
指令:git tag
可以查看标签列表
如果需要查看当前标签的详细信息,可以使用:git show 版本号
其他操作
git tag
查看所有标签
git tag 版本号
给当前最新的commit打上标签
git tag 版本号 提交ID
给指定的commit-id打上标签
git tag -a 版本号 -m 描述信息 提交ID
给指定的commit-id打上标签并附上说明文字
git tag -d 版本号
删除标签
将远程仓库克隆到本地,之后可以像前面操作本地仓库一样操作
指令:git remote -v
查看当前所有远程地址别名
指令:git remote add 别名 远程连接
远程连接起别名
其他操作
查看远程仓库:git remote -v
添加远程仓库:git remote add [name] [url]
删除远程仓库:git remote rm [name]
修改远程仓库:git remote set-url --push [name] [newUrl]
拉取远程仓库:git pull [remoteName] [localBranchName]
推送远程仓库:git push [remoteName] [localBranchName]
将本地的分支提交到远程仓库,并作为master分支或者其他分支
可使用:git push origin 本地分支:远程分支
推送到远程一般使用:git push origin master
,第一次会提示登录,需要登录相关账号
至此,教程结束!
如有补充,后续将进行修改。