Git配置
设置用户名和邮箱
用于设置提交记录中的用户名和邮箱,这些信息会出现在每一次提交中。
1 | git config --global user.name "your name" |
示例
1 | git config --global user.name "John Doe" |
配置SSH
Git通过SSH连接Github,详情可见 SSH配置
创建仓库
初始化git仓库
在当前目录下创建一个新的Git仓库,生成一个隐藏的.git
目录用于存放Git的所有版本控制信息。
1 | git init |
示例
1 | mkdir myproject |
克隆git仓库
从远程仓库复制一个完整的Git仓库到本地。
1 | git clone <url> [localRepositoryName] |
- url(必填) :Git仓库地址
- localRepositoryName(可选) :克隆后本地仓库的名称,若未指定默认采用远程仓库的名字
克隆时,可以用不同的协议,包括ssh
、git
、https
等,其中最常用的是ssh,因为速度较快,还可以配置公钥免输入密码,各种写法格式如下:
1 | git clone git@github.com/example/example.git --SSH协议 |
示例
1 | git clone https://github.com/user/repo.git |
基本操作
添加文件到暂存区
将指定文件的改动添加到暂存区。可以使用.
添加所有改动的文件。
1 | git add <文件名> |
示例
1 | git add README.md |
查看文件的状态
显示当前工作目录和暂存区的状态,显示哪些文件发生了变化但还未暂存,哪些文件已经暂存但未提交。
1 | git status |
查看更新的详细信息
执行 git diff
来查看更新的详细信息,与git status
不同的是,git status
只显示更新的状态,而 git diff
可以显示已写入缓存与已修改但尚未写入缓存的改动的区别具体的详细信息。
1 | git diff |
提交暂存区文件到本地仓库
将暂存区的所有内容提交到本地仓库,并附带一条提交信息。
1 | git commit -m "提交信息" |
示例
1 | git commit -m "Initial commit" |
查看日志
使用git log
可查看提交历史
1 | git log |
撤销暂存区的改动
将文件从暂存区移除,但保留工作目录的改动。
1 | git reset HEAD <file-name> |
示例
1 | git reset HEAD README.md |
撤销工作区的改动
将文件恢复到最近一次提交的状态。
1 | git checkout -- <file-name> |
示例
1 | git checkout -- README.md |
删除文件
如果只是简单地从工作目录中手工删除文件,运行 git status
时就会在 Changes not staged for commit 的提示。要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以如下使用:
1 | git rm <file> |
移动或重命名文件
git mv
命令用于移动或重命名一个文件、目录、软连接,如要将一个test.txt文件重命名为newtest.txt,则可以使用如下命令:
1 | git mv test1.txt test2.txt # 原地移动可实现重命名 |
分支操作
查看当前分支
列出所有本地分支,当前所在的分支前会有一个星号。
1 | git branch |
创建新分支
创建一个新的分支,但不会自动切换到新分支。
1 | git branch <branch-name> |
示例
1 | git branch main |
切换分支
切换到指定的分支。
1 | git checkout <branch-name> |
示例
1 | git checkout main |
创建并切换到新分支
创建一个新分支并自动切换到该分支。
1 | git checkout -b <branch-name> |
这是一个符合操作,类似于执行如下指令:
1 | git branch <branch-name> # 创建新分支 |
示例
1 | git checkout -b pro |
删除分支
删除指定的本地分支。
1 | git branch -d <branch-name> |
示例
1 | git branch -d pro |
合并分支
将指定分支的历史记录和改动合并到当前分支。
1 | git merge <branch-name> |
示例
1 | # 将dev分支合并到main分支 |
远程仓库操作
查看远程仓库
列出所有远程仓库的别名及其对应的URL。
1 | git remote -v |
添加远程仓库
为当前仓库添加一个新的远程仓库。
1 | git remote add origin <repository_url> |
示例
1 | git remote add origin https://github.com/cnlicm/MyExample.git |
推送到远程仓库
将本地分支的更新推送到指定的远程仓库。
1 | git push origin <branch-name> |
示例
1 | git push origin main |
拉去远程仓库的更新
从远程仓库拉取更新并合并到当前分支。
1 | git pull origin <branch-name> |
示例
1 | git pull origin main |
标签操作
创建标签
为当前提交创建一个标签,标签通常用于标记重要的版本。
1 | git tag <tag-name> |
示例
1 | git tag v1.0 |
查看标签
列出所有标签。
1 | git tag |
推送标签到远程仓库
将指定标签推送到远程仓库。
1 | git push origin <tag-name> |
示例
1 | git push origin v1.0 |
.gitignore文件
.gitignore
文件用于指定哪些文件或目录不应被Git管理。例子:
1 | ## Ignore Visual Studio temporary files, build results, and |