Git常用命令

Git常用命令文章目录写在前面 Git 常用命令创建与提交查看仓库的状态查看历史记录版本回退删除将本地仓库与远程库连接添加标签写在前面其实我在平时用到 Git 的时候并不多 主要是推送到 GitHub 的时候会用到 所以就简单整理了一下常用的命令 省了每次还要众里寻他千百度啦

写在前面

Git是一个分布式的版本控制系统,可以方便的记录修改过程。分布式相对于集中式的好处在于,无需联网,可以快速上传下载;每个人的电脑中都可以保存一份,不用担心文件丢失。其实我在平时用到Git的时候并不多,主要是推送到GitHub的时候会用到,所以就简单整理了一下常用的命令,省了每次还要众里寻他千百度啦。😌

这里推荐一个极好的免费Git教程:https://www.liaoxuefeng.com/wiki/9600
在这里插入图片描述

Git常用命令

创建版本库与添加文件

// 创建本地文件夹 mkdir learngit // 将这个目录变成Git可以管理的仓库 git init // 添加到版本库 git add readme.txt git add file1.txt file2.txt git commit -m "add three files" // 执行后的提示:3 insertions 代表插入了三行内容 

添加文件夹

git add 文件夹/ // 添加整个文件夹及内容 git add *.文件类型 // 添加目录中所有此文件类型的文件 

查看仓库的状态

git status // 如果Git告诉我们文件被修改了,但是还没有提交,可以先查看修改了什么 git checkout -- <file>... git diff readme.txt 

查看历史记录

// 可以看到版本号 git log // 简约版历史记录 一大串的字符是commit id(只显示版本号) git log --pretty=oneline // 记录每一次命令 git reflog 

版本回退

// HEAD表示当前版本,HEAD^ 表示上一个版本,HEAD^^表示上上一个版本,HEAD~100表示往上100个版本 git reset --hard HEAD^ // 撤销回退 使用版本号的开头来标识 git reset --hard 1094a // 查看是否回退成功 cat readme.txt 

Git的版本回退速度非常快,因为Git在内部有个指向当前版本的HEAD指针,当你回退版本的时候,Git仅仅是把改变HEAD的指向。
git的工作区、暂存区、master

丢弃修改与删除

// 查看工作区和版本库里面最新版本的区别 HEAD相当于版本库 git diff HEAD -- readme.txt git checkout -- readme.txt // 命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况: // 一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态; // 一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。 // 总之,就是让这个文件回到最近一次git commit或git add时的状态。 // 丢弃工作区的修改 git restore readme.txt git restore -- readme.txt // 撤销暂存区的修改(把暂存区的修改回退到工作区) git reset HEAD readme.txt // 删除已经提交到版本库的文件 rm test.txt // 此时工作区和版本库就不一致了,如果确实要从版本库中删除该文件,则使用git rm删除,并且git commit git rm test.txt giti commit -m "remove test.txt" // 如果工作区删错了,可以用版本库里的版本替换工作区的版本 git restore — test.txt // 删除远程仓库文件不删除本地文件 git rm -r test.txt 

将本地仓库与远程库连接

// origin是远程库默认的名字 git remote add origin https://xxx // 把当前分支master推送到远程,第一次推送master分支加上-u参数 git push -u origin main // 以后每次在本地提交之后可以使用以下命令推送到GitHub git push origin master // 从远程库将他人的文件克隆到本地库 git clone :xxx // 查看远程库信息 git remote -v // 删除远程库 仅仅是删除远程库与工作区的关联 git remote rm origin 

分支管理

创建自己单独的分支,每次修改都是在当前分支上进行,只有当前分支的指针不断向前移动,全部开发完成后,再合并到主分支master上。

// 创建与切换分支 -b 代表创建并切换=(git branch dev + git checkout dev) git checkout -b dev // or git switch -c dev // 查看当前分支 git branch // 删除dev分支 git branch -d dev // 切换到master分支 git checkout master // or git switch master 

合并分支

// 将Dev分支合并到master上,如果有冲突,需要先解决冲突 git merge dev // 显示分支合并图 git log --graph // 通常,合并分支时,如果可能,Git会用Fast forward模式,但这种模式下,删除分支后,会丢掉分支信息。 // 如果要强制禁用Fast forward模式,Git就会在merge时生成一个新的commit,这样,从分支历史上就可以看出分支信息。 git merge --no-ff -m "merge with no-ff" dev // 查看历史 git log --graph --pretty=oneline --abbrev-commit 

添加标签

// 默认添加到最新的commit上 git tag v1.0 // 查看所有标签 git tag // 为历史提交打标签,先找到commit ID git log --pretty=oneline --abbrev-commit git tag v0.9 f52c633 git show v0.9 git tag -a v1.0 -m "version 1.0 released" 1094adb // 删除标签 git tag -d v1.0 git push origin v1.0 git push origin --tags 

克隆子分支

# Git clone只能clone远程库的master分支,无法clone所有分支,解决办法如下: cd git_work git clone http://myrepo.xxx.com/project/.git cd project git branch -a # 列出所有分支名称如下: # remotes/origin/dev # remotes/origin/release git checkout -b dev origin/dev # 作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支 git checkout -b release origin/release # 作用参见上一步解释 git checkout dev # 切换回dev分支,并开始开发 

🐮

今天的文章 Git常用命令分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2025-01-06 07:21
下一篇 2025-01-06 07:17

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/103599.html