Git 基础入门
一、安装与配置
1.下载安装
2.使用入口
win: 右键菜单—git bash
mac: 终端窗口
3.基础配置
a. 首次使用添加身份说明,使用以下两个命令:
$git config --global user.name "你的昵称"
$git config --global user.email 邮箱
b.创建仓库
①在项目文件夹下使用git bash输入$git init
②使用他人项目创建仓库
c.项目克隆
$git clone项目url
二、状态&提交版本
1.跟踪
a.跟踪文件
$ git add <name>
b.跟踪当前目录
$ git add.
2.取消跟踪
a.rm删除
$ git rm <name>
b.保留但不跟踪
$ git rm-cache <name>
3.文件状态修改
a.将修改文件缓存
git add <file-name>
b.取消缓存
it reset HEAD <name>
c.提交缓存的修改
git commit
d.git commit具体操作
①git commit进入提交界面,
按" i"键进入输入模式后输入本次提交详情,然后esc退出编辑模式,按”:"进入命令栏,输入"wq"保存并退出.
②git commit -m '你对提交内容的描述'
③git commit -a
连带未暂存文件一起提交
git commit -am '提交描述'
④git reset head~ --soft
使用该命令取消本次提交,但是首次提交不可撤回.
e.查看状态
①git status
红色代表已修改,未暂存
绿色代表已暂存
提交后,则不显示
②git diff
详细查看文件的第几行第几个字母被修改了
③ git log
查看提交历史信息
git log --all 查看所有分支的提交 结合graph食用更佳
git log --all --graph 图形化查看所有分支的提交
三、远程仓库
1.链接远程仓库到本地
git remote add [远程仓库名字] [远程仓库链接]
2.重命名仓库
git remote rename [目标仓库名] [修改内容]
3.推送到远程仓库
git push [仓库名] [分支名]
四、分支
1.创建分支
git branch [分支名]
新建并切换到该分支 git checkout-b [分支名]
2.查看分支
git branch --list
3.切换分支
git checkout [分支名]
五、分支合并
1.无冲突合并
在合并至的分支使用
git merge [要合并的分支]
⒉.分支冲突merge conflict
将分支2合并到master分支时,与分支1冲突了.原因是分支1和分支2修改了同一处内容.
git status查看哪里有冲突,vi到冲突文件中,选择一个分支的内容保留下来,保存退出
六、推拉与远程跟踪分支
1.推送
git push [仓库名] [分支名]
或者
git push -u [仓库名] [分支名]
第一次使用-u指定推送目标后, 此后可直接使用git push
2.拉取
get fetch
一、普通克隆方式:
git clone <远程仓库地址>
这种克隆方式默认是克隆master主分支,
而且通过命令 git branch --list 能看到克隆后在本地也只有这一个分支,
如果再通过新建分支再拉取指定分支,甚至可能还需要解决冲突,太繁琐。
二、克隆远程指定分支:
那么,如何快速有效的直接克隆远程指定分支?
只需要一条命令:
git clone -b <指定分支名> <远程仓库地址>
会自动在克隆该分支在本地,同样克隆后本地只有这一个分支。
三、迁出到远程指定分支
意思就是,在本地创建个和远程分支同名且代码也完全相同的分支,并迁出到该分支:
git checkout -b <远程分支名> origin/<远程分支名>
这样迁出后的分支和远程分支是完全一致,不会被迁出前的本地分支污染。
从master上拉取一个新分支:
git branch 查看当前分支,显示为master就行了
git branch --list 查看本地分支
git branch -a 查看远程所有分支
git checkout -b xxx 根据master分支切一个xxx分支出来 并切换到xxx分支
git push -u origin xxx 将xxx分支推到远程上,因为远程上没有这个新的xxx分支,
所以要加-u。第一次将新分支提交到远程上时需要加-u
(以后即可直接用git push代替git push origin xxx)
提交到当前开发分支:
git branch 查看当前分支
git status 修改和添加的文件是红色的
git add . 将所有的文件推到暂存区
git status 此时修改和添加的文件是绿色的
git commit -m "" 将暂存区的代码推到本地仓库
git status 此时工作目录是干净的
git push origin xxx 将本地仓库xxx推到远程xxx,远程上有这个分支时可以不用写origin xxx
ps:要提交新版本a.txt,即内容为’a’的a.txt,则需要使用git add a.txt,将新版本的a.txt放到staged暂存区,然后才能使用git commit -m进行提交。而如果使用git commit -am,则可以省略git add a.txt这一步,因为git commit -am可以提交跟踪过的文件,而a.txt一开始已经被跟踪过了
合并到master分支:
git checkout master 切换到master分支
git branch 查看当前分支
git pull origin master 保险起见先拉一下master分支上的代码
git merge xxx 将xxx合并到master分支
git push 将master分支代码推到远程,因为远程上有master分支,所以可以不用加origin master
git如何撤销上一次commit操作:
第一种情况,如果还没有push,只是在本地commit:git reset --hard <commit_id>
第二种情况,如果已经push:git revert <commit_id>
强制将远程上代码覆盖本地:
git fetch --all
git reset --hard origin/master
git pull
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App