重温git操作
1.git常用命令
git config --global user.name 用户名 : 设置用户签名
git config --global user.email 邮箱 :设置用户签名
git init : 初始化本地库
git status : 查看本地库状态
git add 文件名 : 添加到暂存区
git commit -m '日志信息' : 提交到本地库【注意:可以带文件名也可以不带】
git reflog : 查看历史记录
git reset --hard 版本号 : 版本穿梭
git push -u origin master
git remote add origin '关联远程仓库地址'
git pull origin master 拉取最新资源
2.分支操作
git branch 分支名 : 创建分支
git branch -v : 查看分支
git checkout 分支名 :切换分支
git merge 分支名 : 把指定的分支合并到当前分支上
3.配置ssh
1、鼠标右键,点击 ‘git bash here’ 2、配置一下name 、eamil git config --global user.name '用户名' git config --global user.email '邮箱' 3、生成 SSH KEY ssh-keygen -t rsa -C '邮箱' 然后根据日志信息里面的 SSH KEY 存储路径找到 .ssh/id_rsa.pub 文件 4、复制 .ssh/id_rsa.pub 文件内容 5、打开 git 网站,右上角用户头像,点击 settings,左侧菜单 SSH KEYS,将文件内容复制到 key 里即可。
查看ssh文件操作方法:
打开git bash窗口使用命令 cat ~/.ssh/ 查看文件,显示文件路径,打开目录即可。
4. 一般拉取项目及提交修改操作流程
git clone 'xx'
git branch 'new-branch'
git checkout 'new-branch'
git add .
git commit -m 'desc'
git remote add origin 'xx'
git pull origin 'commit-branch-name'
git push -u origin 'commit-branch-name'
补充知识点:
a. fork, clone, branch区别?
git 仓库中,
fork代表 分叉,克隆出一个仓库的新拷贝。例如,分支,Tag,提交。如果向将修改合并到园项目中,可以通过 pull request把提交回原仓库。
clone:作用是将文件从远程代码仓库下载到本地,从而形成一个本地代码仓库。
branch: 分支。创建新分支进行开发,以免影响主分支。
b.常用命令
feat: 新特性,添加功能。
fix: 修改bug.
refactor: 代码重构
docs: 文档修改。
style: 代码格式修改。
test: 测试用例修改
分支操作:
git branch 查看本地所有分支
git branch -r 查看远程所有分支
git branch -a 查看本地和远程所有分支
git merge branch_name 合并分支
git merge --abort 合并分支出现冲突时,取消合并,一切回到合并前的状态
git branch branch_name 基于当前分支,新建一个分支
git checkout --orphan branch_name 新建一个空分支,会保留之前分支所有文件
git branch -D branch_name 删除本地某个分支
git checkout -b branch_name 把基于当前分支新建分支并切换到这个分支。
HEAD,工作树,索引之间区别?
HEAD: 通常指向我们所在的分支。
工作树:是查看和编辑源文件的实际内容。
索引:是放置想要提交给git仓库文件的地方。
c.git发生冲突如何解决?
当git无法自动合并分支时,必须首先解决冲突,解决冲突后,再提交,合并完成。
解决冲突就是把git合并失败的文件手动编辑为我们希望的内容,再进行提交。
出现冲突的场景:
多个分支代码合并到一个分支时/多个分支向同一个远端分支推送。
亦即:多个分支修改了同一个文件或者多个分支修改了同一个文件的名称。
如果快乐太难,那祝你平安。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构