代码版本管理工具Git常用命令操作 (本地代码版本管理)

VPS云服务器 2025-04-23 21:20:09 浏览
git

现在越来越多的企业和团队选择使用Git作为代码的版本管理工具, Git 因为本身分布式的架构设计和更为高效的分支模型,解决了很多传统版本管理工具使用中的缺陷。本文将讲解 Git 的常用命令操作。

本文在 window 环境下,进入到项目目录,右击 Git Bash Here命令打开终端工具,

一、输入git init 命令初始化本地版本库,从返回结果看到,在项目目录下生成了一个 .git 的目录。此目录就是 Git 用来管理和跟踪文件变更的,跟SVN版本控制工具生成的 .svn 目录类似,但是原理不一样。

二、提交文件到版本库

(1)提交文件到版本库 git add (若是提交所有文件用git add .)

例如:提交index.PHP文件到版本库,git add index.php

执行后如果没有返回值,说明执行成功。

不过团队开发中,代码的换行符一般需要统一,若不想在提交时自动转换,可执行以下命令语句:

git config –global Core.autocrlf false

Git自动转换换行符原理如图所示:

(2)使用 git commit 命令,把添加的文件提交到版本库中,

git commit -m “文件1”

如果提交失败,是因为Git安装完成后,没有配置系统用户名和邮箱,Git本身就是分布式的,所以需要这些信息作为唯一的身份标识。执行以下命令配置用户信息:

git config –global user.name “jianyi”

git config –global user.email “jianyi@163.com”

三、Git 查看版本库信息

我们继续修改index.php文件

(1)及时掌握版本库的各种信息 git status

(2)查看本次修改的内容 git diff

(3)完成代码提交

先执行 git add 命令,再使用 git status 命令查看文件修改状态,在确认无误后,使用 git commit命令操作,把文件 Git 的版本库(本地)中。

四、日志查看和版本回退

(1)日志查看

执行以下操作,查看 Git 最新的提交日志

(2)版本回退

查看日志的时候若已经发现可以回退的版本号,就可以执行回退操作了。

回退有如下两种方式

本地版本管理

● git reset –hard commit-id:将文件回退到指定版本号。

● git reset –hard HEAD~3:将文件最近3次的提交回退。适合对刚提交的文件进行回退,开发者可以自定义回退的次数

git reset –hard commmit-id fxs307

在版本回退时,不需要输入完整的版本号,只需输入前几位即可,Git 会自动匹配。输入版本号建议6位。

五、了解工作区、暂存区和版本库

● 工作区:开发者可以看到和操作的问价目录

● 暂存区:因为 Git 的版本库存在本地,开发者执行 git add 操作后,文件修改等会被提交到暂存区

● 版本库:工作区目录下的 .git 目录下存储了 Git 的版本库信息,除了提交信息、分支信息外,暂存区也被放在里面。

好主机测评广告位招租-300元/3月

git 获取本地特定commit版本

进入项目目录:一、git branch test 新建一个test分支二、git checkout test 切到该分支上三、git reset --hard HEAD^1 将该分支的HEAD切到上一次提交上了解下git reset命令的相关用法git的强大就在于分支管理,你要是装了相关的客户端的话,更简单,比如sourcetree,选中那次commit,然后右键branch,新建一个分支即可

如何用简单的语言解释git的基础命令

git status 查看所有文件状态git add 添加文件 文件夹git commit 提交添加后的文件或文件夹git branch 分支管理git checkout 却换分支或者将代码切换到制定节点git reset 将代码会退到指定节点git rebase 和 git merge 合并两个分支常用的就这么多,不知道你是不是要这些

GIT的技巧

展开全部1. 在最后提交中更改Export(Export changes done in last commit )这个命令通常会使用定期发送已更改的项目,以方便其他人审查/集成。 gitarchive-o../$(gitdiff--name-onlyHEAD^)2. 在两次提交之间更改Export文件(Export changed files between two commits)同样地,如果你需要在两次提交之间更改文件,可以选择以下这段代码。 gitarchive-o../_COMMIT_ID_HERE$(gitdiff--name-onlyOLD_COMMIT_ID_HERENEW_COMMIT_ID_HERE)3. 克隆一个特定的远程分支(Clone a specific remote branch)如果你想从远程资源库中克隆一个特定的分支,而无需克隆整个资源库分支,那么下面的这段代码将对你有用。 gitinitgitremoteadd-tBRANCH_NAME_HERE-foriginREMOTE_REPO_URL_PATH_HEREgitcheckoutBRANCH_NAME_HERE4. 从不相关的本地资源库中应用补丁(APPly patch from Unrelated local repository)这里有个快捷方式可帮助你实现。 viewplaincopytoclipboardprint?git--git-dir=PATH_TO_OTheR_REPOSITORY_HERE/-patch-k-1--stdoutCOMMIT_HASH_ID_HERE|gitam-3-k5. 检查分支是否在其它分支中遭到更改(Check if your Branch changes are part of Other branch)cherry这个命令,能够检查你的分支在其他分支中是否被更改。 它会在当前的分支上显示变化,并注明+或-标识符。 +代表不存在,-表示在现有的分支中存在。 viewplaincopytoclipboardprint?gitcherry-vOTHER_BRANCH_NAME_HERE#Forexample:tocheckwithmasterbranchgitcherry-vmaster6. 启动一个无历史记录的新分支( Start a new Branch with No History)有时,你想启动一个新的分支,但并不想运行漫长的历史记录,例如,你想将代码放置在一个公共的域中(开源),但又不想共享历史。 gitcheckout--orphanNEW_BRANCH_NAME_HERE7. 从其他分支签出文件但无需切换分支( Checkout File from Other Branch without Switching Branches )这里将教你如何获取想要的文件。 gitcheckoutBRANCH_NAME_HERE--PATH_TO_FILE_IN_BRANCH_HERE8. 忽略追踪文件中的更改( Ignore Changes in a Tracked File )如果你是在某个团队中工作,他们都在使用同一个分支,也许你会频繁使用提取/合并(fetch/merge),但这有时需要重置特定的配置文件,这就意味着在每次合并后你必须去做更改。 现在,使用这个命令,你可以要求Git忽略更改特定文件。 gitupdate-index--assume-unchangedPATH_TO_FILE_HERE9. 检查已提交部分是否在发布的版本中遭到更改(Check if committed changes are part of a release)name-rev这个命令可以告诉你已提交到最新版本的某个位置。 使用这个代码可帮助你检查,提交的部分是否在已发布版本中遭到更改。 gitname-rev--name-onlyCOMMIT_HASH_HERE10. 用复位替代合并(Pull with rebase instead of merge )当某项特性分支被合并到主流中,此时该分支合并会在Git中以合并提交来进行记录。 但是当团队中多个成员在同一个分支上工作时,常规的合并会导致多个合并消息在日志中呈现混乱状态。 因此,你可以使用复位(rebase)来保持历史清晰,清除无用的合并消息。 gitpull--rebase此外,你还可以通过配置一个特定的分支来复位。 _NAME_ 11. 保存http用户/密码,增加http上传数据的大小git config --global storegit config --global

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐