企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
[TOC] # GIT常用命令 ## 开始一个git项目 `git init` 初始化一个git项目 `git remote add origin git@github.com:michaelliao/learngit.git` 关联一个远程库 `git config --list` 配置 `git config --global user.name "Leviio"` 设置全局用户名 如果去掉 --global 则是设置当前项目的用户名 `git config --global user.email "leviio@qq.com"` 设置全局email ## 分支操作 `git branch -a` 查看所有分支 包括远程分支 `git checkout -b dev` 首先,我们创建dev分支,然后切换到dev分支git checkout命令加上-b参数表示创建并切换,相当于以下两条命令:git branch dev 创建分支 git checkout dev 切换分支 `git branch` 查看当前分支 `git checkout master` 切换分支到 master `git branch dev` 创建分支 `git push origin --delete dev` 删除远程分支 `git branch -D dev` 删除分支 `git merge dev` 把dev分支的工作成果合并到当前分支上 `git push -u origin <branch>` 当第一次提交远程分支时使用-u建立远程分支,但是开源中国好像不必要,此处理解不透彻 `git push origin --delete <branchName>` 删除远程分支 或推送一个空分支 git push origin :<branchName> 两种语法一样 ### 拉取远程分支到本地 git fetch origin 远程分支名x:本地分支名x ### 扩展阅读 [一个成功的Git分支模型](http://www.jianshu.com/p/b357df6794e3) ## git日志操作 `git log` 提交日志 `git log --pretty=oneline` `git log --pretty=oneline --abbrev-commit` `git reflog` 记录每一次提交的版本日志 ## 其他 git reset --hard HEAD^ 退回上一个版本 git reset --hard 232331233 指向某个版本 git checkout -- readme.txt 将某个文件恢复到 回到最近一次git commit或git add时的状态。其实是用版本库里的版本替换工作区的版本,无论工作区是修改还是删除,都可以“一键还原”。如果文件已经被放到缓冲区,则需要先用 git reset HEAD readme.txt 把文件从缓冲区拿出来再使用git checkout -- readme.txt git reset HEAD readme.txt 把暂存区的修改撤销掉(unstage),重新放回工作区 ## tag操作 git push origin --delete tag <tagname> 删除tag git tag 查看当前标签 git tag V1.0 默认给最新提交的commit打标签 git tag v0.9 6224937 给历史的某个commit id打标签 可以使用 git log --pretty=oneline --abbrev-commit 查看历史commit id git show v0.9 查看某个标签信息 git tag -a v0.1 -m "version 0.1 released"3628164 添加标签时增加说明 git tag -d v0.1 删除标签 git push origin --delete tag <tagname> 删除远程标签,或推送一个空标签到远程 git push origin :refs/tags/<tagname> git push origin <tagname> 将标签推送至远程 git push origin --tags 一次性推送全部未推送的标签 注意: .gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。 正确的做法是在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。 git update-index --assume-unchanged PATH 在PATH处输入要忽略的文件。 > git获取帮助 在指令后面添加 --help 参数,如 git diff --help