终端备份常用指令
git reflog //查看更新
git add filename //提交修改
git commit -m "20240825修改" //备注修改
git reset --hard 1094a //回退版本
git checkout -b <branch_name> //创建一个新的分支
git checkout branch-name //切换分支
exit //关闭终端
Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)
目录
一、初始化创建一个git【当前代码有git备份 就不要初始化了】
一、初始化创建一个git【当前代码有git备份 就不要初始化了】
要初始化一个新的 Git 仓库,以下是基本的步骤和命令:
-
创建新的 Git 仓库: 首先,进入你想要存放项目的目录。例如,创建一个名为
my_project
的新目录并进入:mkdir my_project cd my_project
-
初始化 Git 仓库: 在该目录下,运行以下命令来初始化一个新的 Git 仓库:
git init
Terminal 输入:
git config --global user.email “you@example.com”
git config --global user.name “Your Name”
————————————————
版权声明:本文为CSDN博主「weixin_47726314」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47726314/article/details/108788444
-
这会在当前目录下创建一个
.git
的子目录,用来存放 Git 版本控制系统的相关文件。 -
添加文件并提交: 现在,可以开始将项目文件添加到 Git 仓库中,并进行首次提交:
# 假设你已经有一些文件需要添加
touch README.md # 创建一个示例文件 README.md git add README.md # 将文件添加到暂存区 git commit -m "Initial commit" # 提交并添加提交信息
这样就完成了对
README.md
文件的添加和提交。 -
配置用户信息(可选): 如果你是第一次使用 Git,或者还没有配置用户信息,可以设置你的用户名和电子邮件地址。这些信息会包含在每个提交中:
git config --global user.name "Your Name" git config --global user.email "your_email@example.com"
-
添加远程仓库(可选): 如果你希望将本地仓库与远程仓库关联【公司里不要用哦】,可以使用以下命令添加远程仓库地址:
git remote add origin remote_repository_url
其中
remote_repository_url
是远程仓库的 URL 地址。例如:git remote add origin https://github.com/username/my_project.git
-
推送到远程仓库(可选): 如果已经设置了远程仓库,可以将本地的提交推送到远程仓库:
git push -u origin main
这会将本地的
main
分支(或者是你当前使用的分支)推送到远程仓库。
通过以上步骤,你就成功地初始化了一个新的 Git 仓库,并进行了首次的提交。接下来,你可以继续添加文件、进行更多的提交,并使用 Git 的其他功能管理你的项目版本。
二、【代码备份】增加一个节点
要在 Git 中增加一个节点,通常是指创建一个新的提交。以下是创建一个新提交的基本步骤:
-
修改文件或添加新文件: 首先,在你的项目中进行文件的修改或者添加新文件。
-
将修改或新文件添加到暂存区: 使用
git add
命令将你的修改或新文件添加到 Git 的暂存区中。例如:git add filename
filename 增加备份的文件名
-
或者添加所有修改:
git add .
-
提交修改: 使用
git commit
命令创建一个新的提交。提交时建议附带一条简短的提交消息,以便描述本次提交的内容。例如:
git commit -m "Add new feature ABC"
-
推送到远程仓库(如果需要): 如果你的项目是与远程仓库(如 GitHub、GitLab 等)关联的,并且你想将新提交推送到远程仓库,可以使用
git push
命令。例如:git push origin main //公司里就不要使用了
这里假设你要推送到名为
origin
的远程仓库的main
分支。具体分支名称可能因项目设置而异。
这样就完成了在 Git 中增加一个新节点(即一个新的提交)。记住,在进行提交之前,最好先使用 git status
命令查看当前状态,确保修改已经正确添加到了暂存区。
git status
三、增加一个分支
要在 Git 中增加一个新的分支,你可以按照以下步骤操作:
-
查看当前分支状态: 首先,使用
git branch
命令查看当前分支状态。这会列出所有本地存在的分支,并且会标注出当前所在的分支(通常会有一个*
号标记)。git branch
-
创建新分支: 使用
git branch
命令创建一个新分支。例如,假设你要创建一个名为new-feature
的新分支,可以这样做:git branch new-feature
-
切换到新分支(可选): 如果你想立即切换到新创建的分支,可以使用
git checkout
命令:git checkout new-feature
或者,如果你使用较新版本的 Git(推荐),可以使用
git switch
命令切换到新分支:git switch new-feature
如果你希望在创建分支的同时切换到新分支,可以使用
-b
选项:git checkout -b new-feature
或者:
git switch -c new-feature
这些命令将创建一个名为
new-feature
的新分支,并将工作目录切换到这个新分支上。 -
进行修改和提交: 在新分支上进行你的修改和开发工作。你可以添加、修改文件,并将这些更改提交到新分支上。
-
推送新分支到远程仓库(可选): 如果你希望将新分支推送到远程仓库,可以使用
git push
命令。例如,假设你要将new-feature
分支推送到名为origin
的远程仓库:git push origin new-feature
这将把本地的
new-feature
分支推送到远程仓库中。
四、切换到某个节点
要在Git中切换到某个节点(commit),可以使用以下命令:
git checkout <commit-hash>
其中 <commit-hash>
是你要切换到的节点的哈希值或者是分支名
git checkout <commit-hash> -- <file-name>
如果你只是想查看某个节点的内容而不切换工作目录,可以使用:
这会将指定文件 <file-name>
恢复到 <commit-hash>
节点的状态,但不会改变当前工作目录的状态。
需要注意的是,切换到历史节点会使得你处于“分离头指针”状态,这意味着你不能直接在该状态下进行提交,需要创建分支才能保存修改。
切换完了 还能回到最新的嘛
当你使用 git checkout <commit-hash>
切换到历史节点时,可以随时回到最新的状态。有几种方法可以做到这一点:
-
切换回最新的分支:如果你知道你切换前所在的分支名,可以直接切换回该分支。例如:
git checkout main
这将使你回到
main
分支的最新状态。 -
使用
git checkout -
命令:这个命令会切换到你之前所在的分支或者状态。例如:git checkout -
这会使你回到之前的分支,包括你切换之前的最新状态。
-
创建临时分支:如果你不确定之前的分支名,或者想在历史状态上工作而不影响当前分支,可以创建一个临时分支。例如:
git checkout -b temp-branch
这会在当前所处的历史节点上创建一个名为
temp-branch
的新分支。你可以在这个分支上继续工作或者随时切换回其他分支。五、回滚代码
5.1 使用 git reset
软重置(Soft Reset)
-
git reset --soft HEAD^
这会将 HEAD 指针和暂存区回滚到前一个提交,但工作目录中的文件不会受影响。你可以在此基础上进行修改后重新提交。
混合重置(Mixed Reset)
-
git reset --mixed HEAD^
这是默认的重置模式,它将 HEAD 指针、暂存区和工作目录都回滚到前一个提交,但不会删除工作目录中的文件。
硬重置(Hard Reset)
-
git reset --hard HEAD^
这是最彻底的重置模式,它将 HEAD 指针、暂存区和工作目录都回滚到前一个提交,并删除工作目录中未提交的更改。
5.2 使用 git revert
git revert HEAD
git revert 是一种撤销提交的方法,它创建一个新的提交,该提交撤销了指定提交的更改。这样可以保留提交历史,并且不会修改已有的提交。
git reset --hard 1094a
六、常用指令
1.git根目录下
右键打开终端
2.输入常用指令
git reflog //查看更新
git loger //结点树
git add filename //提交修改文件名filename
git commit -m "20240825修改" //备注修改
git reset --hard [分支名] //回退版本
-
提交你的修改: 如果你希望保留当前的修改,可以先提交它们到当前分支:
git add . //全部备份 git commit -m "Committing changes before branch switch" //添加备份注释
-
然后再尝试切换分支:
git checkout branch
-
储藏(stash)你的修改: 如果你暂时不想提交这些修改,可以使用 Git 的储藏功能,将修改暂时保存起来:
git stash
这会将当前的修改保存到 Git 的储藏区域中。然后你可以切换到其他分支:
git checkout Bbranch
完成切换后,如果需要,可以再从储藏区恢复修改:
git stash apply
或者从储藏区中移除这些修改:
git stash drop
-
根据你的需求选择其中一种方法,并根据提示执行相应的 Git 命令,即可解决切换分支时出现的问题。
-
放弃修改: 如果你不需要保留当前的修改,可以放弃这些修改,回到上次提交的状态。请注意,这会永久丢失未提交的更改:
git reset --hard HEAD
然后再切换分支:
git checkout Abranch
设置 Git loger
git config --global alias.loger "log --color --graph --date-order --all --pretty='%C(red bold)%h%Creset %C(cyan)%cd %C(magenta)<%cn>%Creset %Cgreen(%cr)%Creset %C(yellow) %d%n %s%n' --date=format:'%Y-%m-%d %H:%M:%S'"
使得在执行 git loger
命令时能够按照指定的格式输出日志信息:
git config --global alias.loger
: 这部分告诉 Git 在全局配置中为loger
设置一个别名。"log --color --graph --date-order --all --pretty=..."
: 这是实际执行的 Git 命令。具体来说:log
: 显示提交日志。--color
: 启用彩色输出。--graph
: 以图形化方式显示提交历史。--date-order
: 按日期顺序显示提交。--all
: 显示所有分支的提交历史。--pretty='%C(red bold)%h%Creset %C(cyan)%cd %C(magenta)<%cn>%Creset %Cgreen(%cr)%Creset %C(yellow) %d%n %s%n'
: 指定输出格式,其中各种%C(...)%Creset
是用来设定文本颜色的格式控制符,具体含义如下:%C(red bold)%h%Creset
: 提交的简短哈希值,红色粗体显示。%C(cyan)%cd
: 提交日期,青色显示。%C(magenta)<%cn>%Creset
: 提交者名字,洋红色显示。%Cgreen(%cr)%Creset
: 相对提交时间,绿色显示。%C(yellow) %d
: 分支信息,黄色显示。%n %s%n
: 提交信息,前后各一个换行显示。
--date=format:'%Y-%m-%d %H:%M:%S'
: 指定日期的格式为YYYY-MM-DD HH:MM:SS
。