从事了多年java开发,一直在用svn进行版本控制,如今更换了公司,使用的是git进行版本控制,所以打算记录一下git学习的点滴,和大家一起分享。
百度百科:
Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1]也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。
本来想自己写一份下载安装的记录,但看到以下作者已经做了该工作,节省时间,贴出作者地址,大家可以参考。
包新的Git安装与使用教程(2024九月更新)_git安装包-CSDN博客
以下总结一下git常用到的命令:
git config --global --list 列出全局git配置文件中的变量和值
git config --global user.name "你设置的名称"
git config --global user.email "你的邮箱"
git init :进入目录后,使用该命令即将该目录初始化为git本地仓库
git init -b <分支名称> :初始化一个git仓库,并将分支名称设置为分支名称
例:git init -b main
git status:展示工作目录和暂存区的状态,属于只读操作
git add <文件名称> :将一个文件添加到暂存区
git add <文件1> <文件2> <文件3>:将多个文件添加到暂存区
git add -A:将多个修改过的文件添加到暂存区(整个项目)
git add . :将多个修改过的文件添加到暂存区(当前目录和子目录)
git commit -m:创建一个新的提交+提交信息备注
git log:按时间倒序展示当前所在分支的提交信息
git log --all:按时间倒序展示本地仓库中所有分支得提交信息
git branch: 列出本地分支
git branch <分支名称>:创建一个分支
git switch <分支名称> :切换到该分支 (git版本大于等于2.23版)
git checkout <分支名称>:切换到该分支
git merge <源分支>:该操作,首先要切换到目标分支,然后将要合并的分支名称传入源分支,即可将要从源分支合并的文件合并到目标分支。
git switch -c <新分支名称>:创建并同时切换到新分支
git checkout -b <新分支名称>:创建并同时切换到新分支
git remote add <连接名> <远程仓库地址>:将本地仓库连接到远程仓库,后续通过连接名访问远程仓库
git remote:列出本地到远程仓库得所有连接名称
git remote -v:列出本地到远程仓库得所有连接名称+URLs
git push <连接名> <分支名称>:将本地分支名称为分支名称中的内容推到和连接名对应的远程分支中。同时在远程仓库创建一个远程分支,并且在本地仓库创建一个远程跟踪分支
git push -u <连接名> <分支名>:设定上游分支通常是为了将当前分支与远程仓库中的分支关联起来,这样你就可以使用像git pull
和git push
这样的命令而不需要每次指定远程仓库和分支的名称。
git branch --all:列出所有本地分支+远程跟踪分支
git clone git仓库地址:将git项目复制下来
git clone git仓库地址 新的项目名称:git项目复制下来后重新命名
git push <shortname> -d <branch_name>:删除一个远程分支和相关联的远程跟踪分支
git branch -d <branch_name>:删除一个本地分支。删除某个本地分支前要切换到另一个本地分支。
git branch -vv:列出本地分支是否定义了上游分支,同时显示本地分支是提前还是落后于上游分支
git fetch <shortname>:从和<shortname>对应的远程仓库拉取数据。
git fetch -p :删除本地的远程跟踪分支,其在远程仓库中对应的分支已经被删除。(修剪垃圾分支)
项目目录中包含本地仓库和工作目录,除了.git目录之外的目录为工作目录,.git目录为本地仓库。
本地仓库中还包含暂存区和提交历史区。
当我们首次在目录中添加文件时,则会出现两个新概念