热搜:前端 nest neovim nvim

总结一下自己常用的Git命令

lxf2023-06-18 03:00:50

GIT常用操作命令

增加

克隆

直接clone git clone <项目url>

通过这样clone后分支将位于项目的master分支

// PS
git clone http://172.16.20.222/project/front-end.git

// 克隆后本地目录名为front-end, 项目位于master分支
从项目的指定分支clone git clone -b <branchName> <项目url>
// 从项目的指定分支clone到本地指定目录(目录名称可自定义)
git clone -b test http://172.16.20.222/project/front-end.git test2
// test为远程分支名  test2为本地目录文件夹名称
// http://172.16.20.222/project/front-end.git为仓库地址

创建

创建新分支
git checkout -b <branchName>
git push origin <branchName>

// PS 假设当前位于master分支,需要创建test分支
git checkout -b test
git push origin test

// 执行下面这句,每次拉取时候就不需要手动写分支名了
git branch --set-upstream-to=origin/test test

从指定(某次)commit(节点)检出新分支
git checkout <commit SHA> -b <newBranchName>
git push origin <newBranchName>
    
// PS 假设当前位于master分支,需要从66327f5c3e856a27def5fc224f4cc221def7d180 时刻创建test分支
git checkout 66327f5c3e856a27def5fc224f4cc221def7d180 -b test
git push origin test

// 执行下面这句,每次拉取时候就不需要手动写分支名了
git branch --set-upstream-to=origin/test test

删除

删除分支 git branch -d <branchName>
// 比如要删除test分支
1、先切换到其他分支,如 git checkout master
2、删除本地分支 git branch -d <branchName>, 如: git branch -d test
3、删除远程分支 git push origin --delete <branchName>, 如: git push origin --delete test

修改

切换分支 git checkout <branchName>
// 假如当前位于test分支,需要切换到master分支
git checkout master
将某个分支上的(某一次)修改合并到当前分支

场景: 在A分支上修改了a文件,此时想把这次的修改应用到B分支的a文件

// 前提: 在A分支上已经执行过 add commit push操作
1、将当前分支切换到目标分支git checkout <targetBaranchName>, 如果git checkout B 
2、拉取代码git pull
3、选择合并git cherry-pick <SHA> 将指定的提交应用到当前分支
4、推送到远程仓库

PS:
在A分支上修改了a文件,此时想把这次的修改应用到B分支的a文件
git ccheckout B
git pull
git cherry-pick b285b883e8e070158a77e376c54cbc89791a21dd  (b285b883e8e070158a77e376c54cbc89791a21dd即为提交的commit id)
git push


##### 修改远程分支名称
1、git branch -m <old branchName> <new branchName>
2、git push --delete origin <old branchName>
3、推送新分支 git push origin <new branchName>
4、将本地分支和远程连接 git branch --set-upstream-to origin/<new branchName>
代码回滚到历史某版本
1、git log 查看对应的SHA,并拷贝
2、版本回退 git reset --hard <version | sha>
3、提交 git push -f
修改已经commit之后的注释
git commit --amend
此时会进入默认vim编辑器,修改注释完毕后保存修改即可
shift + i 进入编辑模式
wq!保存退出
放弃本次修改

放弃修改,回到修改前的状态(未使用git add缓存的代码)

// 放弃当个文件的修改
git checkout --<fileName>

// 放弃全部文件的修改
git checkout .

// 如果是本次新建的文件,因为刚新增还没有加入到git的管理中,需要自己手动删除
(从add状态)退回到add之前的(状态)文件
git restore 
git restore --staged <fileName>
撤回已经commit的文件
git reset --soft HEAD^
更改远程仓库地址
git remote set-url origin <新项目仓库url地址>

PS: git remote set-url origin http://172.16.20.111/dlpuser/front-end.git
// http://172.16.20.111/dlpuser/front-end.git(为新地址)
// 更新过后如果新仓库的代码有滞后,记得提交一下 git push一下
用某分支内容替换当前分支内容
// 假如想用test分支的内容来替换当前master分支的内容
1、切换到当前分支 git checkout <branchName> 如: git checkout master
2、重置内容 git reset --hard <target branchName> 如: git reset --hard test
3、推送 git push oirgin <current branchName> --force 如: git push origin master --force **--force很重要,记得一定要加上,否则推送会报错**
下载并合并更新
git pull <remote> <branchName>
合并某分支的内容到当前分支
git merge <branchName>

查看

查看当前工作目录被修改的文件
git status
查看当前连接的远程分支仓库地址
git remote -v
查看项目当前所在分支
git branch -v
查看由谁修改了某文件
git blame <fileName>  **必现是正确的文件路径**
查看某个文件修改内容
git diff <fileName>
查看最近提交记录
// 查看最近5次提交记录,信息包括: Author、Date、Commit message
git log

// 查看记录同时,查看提交时修改的文件
git log --stat

巨人整理的资源

附上巨人整理的一份文档; 感谢巨人

总结一下自己常用的Git命令

本网站是一个以CSS、JavaScript、Vue、HTML为核心的前端开发技术网站。我们致力于为广大前端开发者提供专业、全面、实用的前端开发知识和技术支持。 在本网站中,您可以学习到最新的前端开发技术,了解前端开发的最新趋势和最佳实践。我们提供丰富的教程和案例,让您可以快速掌握前端开发的核心技术和流程。 本网站还提供一系列实用的工具和插件,帮助您更加高效地进行前端开发工作。我们提供的工具和插件都经过精心设计和优化,可以帮助您节省时间和精力,提升开发效率。 除此之外,本网站还拥有一个活跃的社区,您可以在社区中与其他前端开发者交流技术、分享经验、解决问题。我们相信,社区的力量可以帮助您更好地成长和进步。 在本网站中,您可以找到您需要的一切前端开发资源,让您成为一名更加优秀的前端开发者。欢迎您加入我们的大家庭,一起探索前端开发的无限可能!