
git常用命令与概念汇总
打开终端或命令提示符,执行以下命令:
发布日期:2021-05-04 18:16:57
浏览次数:30
分类:精选文章
本文共 1672 字,大约阅读时间需要 5 分钟。
Git配置与常用操作解析
设置记住用户名和密码
在使用Git进行代码管理时,有时需要配置用户名和密码以便自动记忆。以下是一种简单有效的方法:
git config --global credential.helper store
- 输入用户名和密码,完成后Git会记住这些信息。
- 这种方法会将密码存储在明文格式中,存在一定的安全风险。如果工作环境中涉及敏感数据,请谨慎使用。
- 安装的依赖项(如npm包)可能会访问此文件,因此建议只在信任的环境中应用。
- 保留原有的提交记录。
- 生成新的提交,避免丢失修改记录。
- 如果删除的提交与后续提交有相同的修改内容,可能会产生冲突。
- 不能直接删除包含未被合并的提交。
- 使用reset时,请确保已经切换到正确的分支,否则可能会影响其它工作。
- --hard选项会删除所有未提交的修改内容,慎重使用。
- 创建新分支:
- 切换到新分支:
- 提交新修改:
HEAD
:指向当前分支的最新提交。HEAD~
:指向当前分支的父级提交。HEAD^
:指向提交的父级提交(第一个父级)。HEAD~1^2
:指向提交的第二个父级。- --hard:完全清空工作区和暂存区。
- --soft:只清空暂存区,保留工作区的修改。
- --mixed:保留工作区和暂存区的修改。
- 如果只想保留工作区的修改:
- 如果需要完全清空:
- 使用RESET前,请确保已经将修改提交到远程仓库或备份。
- --hard选项会删除所有未提交的修改,慎重使用。
注意事项
删除某次提交的操作
删除已提交的代码有两种主要方法:
方法一:使用 revert
revert命令用于还原上一次提交,具体操作如下:
git revert HEAD~1
优点:
方法二:使用 rebase -i
rebase交互式命令可以删除多次提交,但需注意以下情况:
操作步骤:
git rebase -i HEAD~5
选择删除的提交后保存并退出,Git会将这些提交从历史中删除。
方法三:使用 reset
如果希望完全删除当前分支,可以使用reset命令:
git reset --hard
这将清空工作区和暂存区,回到上一个 commit。
注意事项
HEAD指向解析
HEAD是Git中一个重要的概念,通常指向当前分支的最新提交。以下是一些常见场景:
在主分支(master)上
默认情况下,HEAD指向当前分支的最新提交:
git checkout master
HEAD会显示为:
HEAD -> master (refers to commit 'd')
切换到新分支
创建并切换到新分支:
git checkout -b testing
此时,HEAD会指向新的测试分支:
HEAD -> testing (refers to commit 'a')
检出特定提交
如果要查看某次提交的状态,可以检出该提交:
git checkout commit-hash
此时,HEAD会指向该特定提交:
HEAD (refers to commit 'b') -> v2.0
检出detached HEAD
在某些情况下,HEAD可能会与当前分支不一致:
git checkout commit-hash
此时,HEAD将指向该特定提交,而不再指向任何分支。
处理detached HEAD
如果误切换到detached HEAD,可以通过以下方式恢复:
git checkout -b foo
git checkout foo
git commit -m "message"
HEAD与父级符号解析
HEAD符号常见形式:
这是Git查找特定提交的强大功能,适用于解决常见问题。
RESET命令的使用
RESET命令用于撤销提交的操作,根据需要选择不同的选项:
选项解析
git reset --hard
git reset --soft
(默认选项,即git reset
)
示例
git reset --soft
git reset --hard
注意事项
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年05月08日 09时42分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linr PS toolkit(Photoshop开发人员辅助工具)
2025-04-05
Lintcode 74 First Bad Version solution 题解
2025-04-05
LintCode A + B Problem
2025-04-05
LintCode Python 简单级题目 8.旋转字符串
2025-04-05
LintCode 第一题fizz buzz
2025-04-05
lintcode-418-整数转罗马数字
2025-04-05
LintCode: Longest Common Substring
2025-04-05
Lintcode: Nuts & Bolts Problem
2025-04-05
Lintcode: O(1) Check Power of 2
2025-04-05
Lintcode: Topological Sorting
2025-04-05
LintCode_114 不同的路径,115 不同的路径 II
2025-04-05
linux */10 * * * *,Linux学习之路(10)
2025-04-05
linux - sftp常用命令介绍
2025-04-05
linux -- ubuntu修改IP地址、网关、dns
2025-04-05
Linux ---> 简单socket
2025-04-05
Linux -chattr -隐藏权限(附加权限)
2025-04-05
Linux /dev/sda3 100%解决
2025-04-05
Linux /dev目录设备文件
2025-04-05