git常用指令
配置用户名和密码相关设置
git config --global user.name "Your Name"
git config --global user.email "your@email.com"
仓库初始化与克隆
git init
功能:在本地创建一个新的 Git 仓库。它会在当前目录下生成一个隐藏的.git文件夹,这个文件夹用于存储仓库的所有版本控制信息,包括提交历史、分支信息等。
git clone [repository - url]
功能:从远程仓库克隆项目到本地。远程仓库可以是在 GitHub、GitLab 等代码托管平台上的仓库。
git status
功能:查看工作目录和暂存区的状态。它会显示哪些文件被修改了、哪些文件被添加到暂存区、哪些文件还没被跟踪等信息。
git add [file - paths]
功能:将文件的修改添加到暂存区。可以添加单个文件、多个文件或者整个目录。 ```git rm [file - paths]
功能:从工作目录和暂存区删除文件。如果文件已经被添加到暂存区,使用git rm可以将其从暂存区和工作目录中删除。
## 提交相关指令
git commit -m “[commit - message]”
功能:将暂存区的内容提交到本地仓库。-m选项用于添加提交信息,提交信息应该简洁明了地描述本次提交所做的更改。
git commit -a -m “[commit - message]”
功能:自动将所有已跟踪文件的修改添加到暂存区并提交。它相当于先执行git add -u(将所有已跟踪文件的修改添加到暂存区),然后再执行git commit -m。
## 分支管理
git branch
功能:查看本地分支列表。会显示所有本地分支的名称,当前所在分支会用一个星号(*)标记。
git branch [new - branch - name]
功能:创建一个新的本地分支。
git checkout [branch - name]
功能:切换分支。将工作目录切换到指定的分支。
git checkout -b [new - branch - name]
功能:创建一个新分支并立即切换到该分支。它相当于先执行git branch [new - branch - name],然后再执行git checkout [new - branch - name]。
## 远程仓库操作
git remote
功能:管理远程仓库。git remote -v可以查看所有远程仓库的名称和对应的 URL。
git remote add [remote - name] [remote - url]
功能:添加一个远程仓库。
git push [remote - name] [branch - name]
功能:将本地分支的提交推送到远程仓库。
git pull [remote - name] [branch - name]
功能:从远程仓库拉取最新的提交并合并到本地分支。
## 标签相关操作
git tag [tag - name]
解释:轻量级标签就像是一个不会改变的分支引用,它只是一个指向特定提交的指针。这种标签很简单,没有包含额外的信息,如标签创建者、日期等。
git tag -a [tag - name] -m “[message]”
解释:带注释标签包含更多的信息,如标签创建者、日期、注释消息等。-a选项表示创建一个带注释的标签,-m选项用于添加注释消息,注释消息应该描述这个标签的意义,比如版本的更新内容等。
git tag
解释:这个指令会简单地列出仓库中的所有标签。按照字母顺序(默认情况下)显示标签名称,无论是轻量级标签还是带注释标签都会被列出。
git show [tag - name]
解释:当你想查看带注释标签的详细信息,包括标签指向的提交信息、标签创建者、日期和注释消息时,可以使用这个指令。
git push [remote - name] [tag - name]
解释:如果你的本地仓库创建了标签,想要将这个标签推送到远程仓库(比如 GitHub 或 GitLab),可以使用这个指令。remote - name是远程仓库的名称(通常是origin),tag - name是要推送的标签名称。
git push [remote - name] –tags
解释:如果你创建了多个本地标签,想要一次性将所有标签推送到远程仓库,可以使用这个指令。它会将本地仓库中所有尚未推送到远程的标签都推送到远程仓库。
git tag -d [tag - name] ``` 解释:当你发现本地标签有误或者不再需要某个本地标签时,可以使用这个指令删除它。
指令:首先需要删除本地标签(使用git tag -d),然后执行git push [remote - name] :refs/tags/[tag - name] 解释:删除远程标签稍微复杂一些。因为远程仓库的标签是基于本地标签推送的,所以首先要删除本地标签,然后通过一种特殊的推送语法来告诉远程仓库删除对应的标签。 示例:假设要删除远程仓库origin上的标签v1.0,先执行git tag -d v1.0,然后执行git push origin :refs/tags/v1.0。