git clone
克隆仓库,git status
查看状态,git add
添加文件,git commit
提交更改,git push
推送到远程,git pull
拉取更新,git branch
管理分支。Git 工作区域
区域 | 说明 |
工作区 | 本地编辑器里改动的代码,所见即所得 |
暂存区 | 通过git add 指令将工作区代码提交至此 |
本地仓库 | 通过git commit 将暂存区代码提交至此 |
远程仓库 | 托管代码的远端仓库,通过git push 推送代码 |
初始配置
命令 | 说明 |
git config global user.name "yourname" | 配置用户名 |
git config global user.email "youremail@xxx.com" | 配置用户邮箱 |
git config global list | 查看当前配置信息 |
git config global alias.co checkout | 配置简写,例如使用git co 代替git checkout |
sshkeygen t rsa C "youremail@xxx.com" | 生成本地 ssh key |
cat ~/.ssh/id_rsa.pub | 查看本地 ssh key |
高频命令
1、克隆仓库
命令 | 说明 |
git clone | 克隆远端仓库到本地 |
git clone | 克隆远端仓库到本地并同时切换到指定分支branch1 |
git clone | 克隆远端仓库到本地并指定本地仓库文件夹名称为myproject |
2、添加文件到暂存区
命令 | 说明 |
git add . | 将所有修改的文件都提交到暂存区 |
git add a.js b.js | 将指定的文件a.js 和b.js 提交到暂存区 |
git add ./js | 将js 文件夹下修改的内容提交到暂存区 |
3、提交到本地仓库
命令 | 说明 |
git commit m "your commit message" | 将工作区内容提交到本地仓库并添加提交信息 |
git commit m "new message" amend | 对上一次 commit 记录进行覆盖 |
git commit amend noedit | 跳过校验直接提交 |
git commit am | 一次性从工作区提交到本地仓库 |
4、推送到远程仓库
命令 | 说明 |
git push | 将当前本地分支内容推送到远程分支 |
git push setupstream origin branch1 | 推送当前分支并建立与远程上游的跟踪 |
git push f | 强制提交 |
5、拉取远程仓库并合并
命令 | 说明 |
git pull | 拉取远程仓库并合并到本地仓库 |
git pull rebase | 使用 rebase 模式进行合并 |
6、切换分支
命令 | 说明 |
git checkout branch1 | 切换到已有的本地分支branch1 |
git checkout origin/branch1 | 切换到远程分支origin/branch1 |
git checkout b branch2 | 基于当前本地分支创建一个新分支branch2 并切换至该分支 |
git checkout origin/branch1 b branch2 | 基于远程分支origin/branch1 创建一个新分支branch2 并切换至该分支 |
git checkout file | 撤销工作区文件内容的修改 |
git checkout . | 撤销工作区所有内容的修改 |
7、查看信息
命令 | 说明 |
git status | 显示有变更的文件 |
git log | 显示当前分支的版本历史 |
git log stat | 显示commit历史,以及每次commit发生变更的文件 |
git log S [keyword] | 根据关键词搜索提交历史 |
git log [tag] HEAD pretty=format:%s | 显示某个tag之后的所有变动,每个commit占据一行 |
8、其他操作
命令 | 说明 |
git branch | 列出所有本地分支 |
git branch r | 列出所有远程分支 |
git branch a | 列出所有本地分支和远程分支 |
git branch branchname | 新建一个分支,但依然停留在当前分支 |
git checkout b branchname | 新建一个分支,并切换到该分支 |
git branch track branchname remotebranch | 新建一个分支,并与指定的远程分支建立追踪关系 |
git merge branchname | 合并指定分支到当前分支 |
git cherrypick commithash | 选择一个commit,合并进当前分支 |
git branch d branchname | 删除分支 |
git push origin delete branchname | 删除远程分支 |
相关问答FAQs
1、如何撤销已经提交的 commit?
回答:可以使用git reset
命令来撤销已经提交的 commit,具体命令如下:
“`bash
git reset hard <commitid>
“`
其中<commitid>
是你想要回退到的 commit ID,这将丢弃你在该 commit 之后所做的所有更改。
2、如何查看特定文件的历史变更记录?
回答:可以使用git log
命令配合文件路径参数来查看特定文件的历史变更记录,具体命令如下:
“`bash
git log follow [filepath]
“`
其中[filepath]
是你要查看的文件的路径,加上follow
选项可以跟踪文件的重命名。
当然可以,以下是我归纳的Git常用命令,包括了一些基本的操作和高级命令,以下是按功能分类的命令列表:
初始化和配置
git init # 初始化一个新的Git仓库 git clone <url> # 克隆一个仓库 git config global user.name "Your Name" # 设置用户名 git config global user.email "your_email@example.com" # 设置用户邮箱
文件操作
git add <file> # 添加文件到暂存区 git add . # 添加所有未跟踪的文件到暂存区 git commit m "提交信息" # 提交暂存区的更改 git reset hard # 重置当前分支到指定commit,撤销之后的所有更改 git checkout <file> # 撤销对文件的更改 git rm <file> # 删除文件 git mv <file> <new_file> # 重命名文件
分支操作
git branch # 查看分支 git branch a # 查看所有分支 git branch b <name> # 创建新的分支 git checkout <name> # 切换到指定分支 git merge <branch> # 合并指定分支到当前分支 git rebase <branch> # 另一个分支的上游分支,所有提交将应用在当前分支上 git branch d <name> # 删除分支 git branch D <name> # 强制删除分支
提交操作
git push origin <branch> # 将当前分支的更改推送到远程仓库 git pull # 从远程仓库获取更改并合并到当前分支 git push origin force # 强制推送更改到远程仓库,即使有冲突
查看历史记录
git log # 查看提交历史 git log pretty=format:"%ad | %an | %s" date=local # 格式化提交历史 git show <commit> # 查看指定提交的详细信息 git diff # 查看提交之间的差异 git diff <commit> # 查看与指定提交的差异 git diff <commit>...<commit> # 查看多个提交之间的差异
标签操作
git tag # 列出所有标签 git tag <tagname> # 创建一个新标签 git tag d <tagname> # 删除标签 git push origin <tagname> # 推送标签到远程仓库 git push origin tags # 推送所有标签到远程仓库
其他
git remote v # 查看所有远程仓库 git remote add <name> <url> # 添加一个新的远程仓库 git remote rename <old> <new> # 重命名远程仓库 git fetch <remote> # 从远程仓库获取所有分支的更新 git branch u <remote>/<branch> # 设置当前分支跟踪的远程分支
命令是Git中非常基础的命令,熟练掌握这些命令可以帮助你更高效地使用Git进行版本控制。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1171535.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复