git命令行(常用整理)
发布网友
发布时间:2024-09-05 04:03
我来回答
共1个回答
热心网友
时间:2024-10-25 03:52
基础语句
设置相关
使用`git config --list`查看当前已配置参数,通过`git config user.name`与`git config user.email`可分别查看并设置当前用户名与绑定邮箱。全局设置需添加`--global`参数。当前git版本信息使用`git -v`查看。
仓库操作相关
初始化本地仓库使用`git init`,克隆项目至当前文件夹则使用`git clone GIT_REPOSITORY_URL`,并会自动新建文件夹。查看远程仓库信息使用`git remote -v`,添加远程源则需执行`git remote add [NAME] GIT_REPOSITORY_URL`。`git remote show [NAME]`用于查看远程仓库详细信息,`git remote rename [OLD_NAME] [NEW_NAME]`可重命名仓库,`git remote remove [NAME]`删除远程仓库。
在使用过程中,`git fetch [NAME]`抓取远程仓库变动(不合并),而`git pull`则同步抓取并执行合并操作。`git pull --no-commit [NAME]`下载内容并合并,但不提交。`git pull --rebase [NAME]`实现以rebase替代merge的合并方式。`git pull --verbose`显示拉取与合并过程。
分支相关与操作
`git status`显示当前分支状态,`git pull origin [BRANCH_NAME](:[LOCAL_BRANCH_NAME])`用于抓取特定分支更新。
通过`git branch`查看本地分支,`git branch -a`与`git branch -r`分别显示所有本地与远程分支。`git branch --contains COMMIT_CONTENT`显示包含特定提交的分支,`git branch --merged`与`git branch --no-merged`分别显示已合并与未合并至当前分支的分支。
`git branch [BRANCH_NAME]`新建分支,`git branch -d [BRANCH_NAME]`删除分支,需要确保未合并的提交存在。使用`git branch -D [BRANCH_NAME]`强制删除分支,`git branch --delete --force`为简写。使用`git branch | grep "REG_EXP" | xargs git branch -D`可批量删除满足正则表达式的分支。
使用`git show-branch`可查看当前分支历史,`git show-branch --all`查看所有分支历史。
`git add [FILE_NAME]`用于将文件添加至分支,`git add -u`则将修改文件添加,`git add .`添加所有更改/新建文件。使用`git checkout [BRANCH_NAME]`切换分支,新建分支使用`git checkout -b [NEW_BRANCH_NAME]`。
通过`git checkout --track hotfixes/[BRANCH_NAME]`切换并跟踪分支,`git checkout -b [LOCAL_BRANCH] origin/[REMOTE_BRANCH]`从远程分支创建本地分支。
提交更新使用`git commit -m "UPDATE_CONTENT"`,`git commit -am "UPDATE_CONTENT"`等同于`git add -u + git commit -m ""`。使用`git commit --amend -m "UPDATE_CONTENT"`合并上一次提交。默认使用`git merge (-ff)`合并分支,使用`git merge --no-ff [BRANCH_NAME]`关闭此模式,采用merge commit。`git merge --squash [BRANCH_NAME]`压缩不必要的commit。
`git mv [OLD_NAME] [NEW_NAME]`实现文件重命名。使用`git reset --hard(强制) HEAD`重置当前分支版本至HEAD,用于merge失败回退。`git revert [COMMIT_HASH]`撤销提交。
查看提交记录使用`git log (--no-merges)`,`git log -3`查看最近三次提交,`git log --stat`显示commit历史,`git log -S [keyword]`根据关键字搜索提交历史。使用`git log --pretty=oneline`查看历史提交。`git reflog`提供所有历史版本信息,用于版本回退或恢复。
使用`git stash`暂存当前修改,`git stash list`查看暂存信息,`git stash apply`应用暂存。
查看所有标签使用`git tag`,使用`git tag -l "v1.0"`查看所有v1.0标签。添加标签使用`git tag -a [TAG_NAME] -m "YOUR_TAG_CONTENT"`,查看标签与提交信息使用`git show [TAG_NAME]`。直接添加标签使用`git tag [TAG_NAME]`,给特定commit添加标签使用`git tag -a [TAG_NAME] [HASH_ID]`。删除标签使用`git tag -d [TAG_NAME]`,推送所有标签使用`git push (origin) --tags`,删除远程某标签使用`git push origin :refs/tags/[TAG_NAME] | git push origin --delete [TAG_NAME]`。
将当前分支推送到远程分支使用`git push origin [ORIGIN_BRANCH_NAME]`,删除远程分支使用`git push origin --delete [ORIGIN_BRANCH_NAME]`。
查看所有未添加改变使用`git diff`,查看已添加但未commit的改变使用`git diff --cached`。
使用`git rebase`进行一次完整的、安全的更新提交。示例如下,实现了完整git rebase操作。