git常用命令
git bash 快捷操作:
# 鼠标左键选中需要复制的内容,光标对准需要粘贴的地方,点击鼠标滚轮,即可快捷实现复制粘贴
ctrl+L 翻到空白页
修改文件:vim project.txt 点击esc进入编辑模式,
查看文件内容: cat project.txt
关于使用git管理项目中开发项目时最好用livesever插件
打开终端:CTRL+`
打开新终端:ctrl+shift+`
分支
git branch列出所有本地分支
git branch -r 列出所有本地及远程分支
git branch [branch-name]创建分支
git checkout [branch-name]切换分支
git checkout -b [branch-name]创建并切换到该分支
git checkout [filename]撤销对文件的修改
切换到master时合并分支:
git merge [branch-name]将该分支合并到master上
git commit -m "" (不加filename)合并分支后提交
创建远程仓库别名
git remote -v查看当前所有远程地址别名
**git remote add 添加别名 远程地址 **
git remote add 别名 http....为远程库的http创建别名
**eg:git remote add git-demo **https://github.com/mycl0203/git-demo.git
git remote -v查看远程库
git push 别名 分支名
eg:git push git-demo main
git pull 别名 分支名 将github代码拉取到本地eg:git pull git-demo main
克隆远程仓库
**拉取远程仓库出现10054报错,运行以下命令:**git config --global http.sslVerify "false"
git clone 链接(不是别名) 克隆远程仓库到本地(克隆别人的远程库不需要初始化)
克隆别人的远程仓库的时候,出现了克隆失败的问题,关闭vpn就成功了
出现几个问题的解决办法:10054,输入git config --global http.sslVerify "false" 再克隆
另外尝试关闭vpn再克隆
克隆远程仓库会做三个操作:
1.拉取代码;2.初始化本地仓库;3.创建别名
邀请加入团队协作
GitHub 邀请协作者步骤:
- 打开仓库页面,点击 Settings(设置)
- 左侧菜单选择 Collaborators(协作者)
- 点击 Add people,输入对方的 GitHub 用户名或邮箱
- 对方会收到邀请邮件,点击 Accept invitation 接受
GitLab 邀请协作者步骤:
- 打开项目页面,点击 Manage > Members
- 点击 Invite members
- 选择角色(Guest/Reporter/Developer/Maintainer)
- 输入用户名或邮箱,发送邀请
角色权限说明:
- Guest:只能查看项目,不能操作
- Reporter:可以查看代码和创建 issue
- Developer:可以推送代码、创建分支、合并请求
- Maintainer:可以管理项目设置、管理分支保护规则
团队协作最佳实践:
- 使用 分支开发:从 main/master 创建 feature 分支开发
- 使用 Pull Request/Merge Request:代码审查后再合并
- 保持提交信息清晰:使用
feat:、fix:、docs:等前缀 - 及时拉取最新代码:
git pull origin main避免冲突
SSH免密登录
如果这里的区域显示ssh用不了,就删除C盘用户的.ssh目录,再在该目录下右键打开git bash here,
输入:ssh-keygen -t rsa -C toleap0203@gmail.com,三次回车就生成了一个.ssh文件夹
分支合并冲突解决
冲突产生原因:
当两个分支修改了同一文件的同一行,或者一个分支删除了文件而另一个分支修改了该文件时,Git 无法自动合并,就会产生冲突。
冲突解决步骤:
识别冲突文件:合并时 Git 会提示哪些文件有冲突
git merge feature-branch # Auto-merging index.html # CONFLICT (content): Merge conflict in index.html查看冲突内容:打开冲突文件,会看到类似这样的标记
<<<<<<< HEAD 当前分支的内容 ======= 合并分支的内容 >>>>>>> feature-branch手动编辑解决:删除标记符号,保留正确的内容
# 编辑文件,保留需要的内容 vim index.html标记冲突已解决:
git add index.html git commit -m "解决合并冲突"
预防冲突的最佳实践:
- 频繁拉取最新代码:
git pull origin main - 小步提交,减少冲突范围
- 团队成员分工明确,避免同时修改同一文件
- 使用
git stash暂存本地修改后再拉取
Git 撤销操作
撤销工作区修改:
# 撤销单个文件的修改
git checkout -- filename
# 撤销所有修改
git checkout -- .
撤销暂存区(已 add 未 commit):
git reset HEAD filename
# 或
git restore --staged filename
撤销提交(已 commit 未 push):
# 保留修改,撤销最近一次提交
git reset --soft HEAD~1
# 不保留修改,撤销最近一次提交
git reset --hard HEAD~1
撤销已推送的提交(慎用):
# 生成新的撤销提交,保留历史记录
git revert HEAD
警告: git reset --hard 会丢失未提交的修改,操作前建议先 git stash 备份。
Git Stash 暂存工作
使用场景:
正在开发功能时需要紧急修复 bug,但当前代码还未完成不想提交。
基本操作:
# 暂存当前修改
git stash
# 查看暂存列表
git stash list
# 恢复最近一次暂存
git stash pop
# 恢复但不删除暂存记录
git stash apply
# 删除暂存记录
git stash drop stash@{0}
实战流程:
# 1. 暂存当前工作
git stash
# 2. 切换到 main 分支修复 bug
git checkout main
git pull
# 修复 bug 并提交...
# 3. 切换回功能分支
git checkout feature-branch
# 4. 恢复之前的工作
git stash pop
Git 日志与版本回溯
查看提交历史:
# 简单查看
git log
# 单行显示
git log --oneline
# 图形化显示分支
git log --graph --oneline --all
# 查看最近5次提交
git log -5
版本回溯:
# 查看某个提交的修改内容
git show commit-id
# 回退到指定版本(保留修改)
git reset --soft commit-id
# 回退到指定版本(丢弃修改)
git reset --hard commit-id
后悔药:恢复误删的提交
# 使用 reflog 找到误删的 commit-id
git reflog
# 恢复
git checkout commit-id
# 或
git reset --hard commit-id
评论
暂无评论,来写第一条吧
