下面介绍经常用到的且最基本的git 命令
git init
mkdir git-abc
cd git-abc
git init
git remote add <shortname> <url>
git remote add origin https://github.com/simplezhao/git-abc.git
git fetch <remote>
git fetch origin
git remote show <remote>
git remote show origin
git checkout -b <branch> <remote>
git checkout -b main origin/main
git status
- 修改readme.md文件
git status
提示文件被修改
- 新增一个readme_en.md文件
git status
提示有未跟踪的文件
-
git add .
添加所有文件 -
git add <file>
添加指定文件
# 添加所有文件
git add .
添加成功后,显示准备提交的文件
git commit -a
在默认编辑器内增加本次提交内容git commit -m <message>
简短提交
git commit -m "update readme file and add new readme for english version"
git push <shortname> <branch>
git push origin main
git log
git log
多人开发同一个项目,需要共同维护同一个代码库,假如每个人负责独立的模块,不会涉及到代码冲突
某次提交时,提示如下问题
这是因为远程分支要优先本地的分支,需要先执行git pull,然后在执行git push命令
git pull origin main
git push origin main
执行pull时会提示Merge信息
完成并退出编辑后,提示pull信息
再次执行git push origin main,显示提交成功
git branch <branch>
git branch hotfix
git checkout hotfix
在上一步操作,因为系统出现bug,紧急创建一个分支,然后在这个分支上进行修复,修改测试验证完毕后,从hotfix分支合并到main分支
git checkout main
git merge hotfix
git branch -d <branch>
git branch -d hotfix
-
git tag
-
git tag -a <version> -m <message>
通过git tag
查看仓库内已经存在的标签列表
git tag -a '1.0' -m "first version"
也可以使用轻量级标签
git tag 1.0-a
默认情况下 git push命令不会把标签传送到远程仓库,必须显式地推送标签到服务器,类似于推送代码
git push <shortname> <tagname>
如果想一次推送多个标签,可以使用如下命令
git push <shortname> --tags
git push origin 1.0
git push origin --tags
推送指定标签
推送所有标签
使用git config -l
查看当前仓库配置
git config --global user.name "yourname"
git config --global user.email "youremail"
和全局区别在于去掉--global标记
git config user.name "yourname"
git config user.email "youremail"
[1] Book: Pro Git