温故知新,遇见源代码管理相关命令(Git常用命令、Nuget常用命令、CMD常用命令)
Git常用命令
源代码工具
工具名称 | 相关地址 |
---|---|
Git | Git for Windows |
VSC | Visual Studio Code |
VSC插件(Gitlen) | GitLens — Git supercharged |
分支的新建与合并
假设此时,你突然接到一个电话说有个很严重的问题需要紧急修补,那么可以按照下面的方式处理
- 返回到原先已经发布到生产服务器上的分支。
- 为这次紧急修补建立一个新分支,并在其中修复问题。
- 通过测试后,回到生产服务器所在的分支,将修补分支合并进来,然后再推送到生产服务器上。
- 切换到之前实现新需求的分支,继续工作。
拉取指定地址的代码
git clone http://xxxxxxx.git
指定分支拉取代码
git clone git@xxxx.git -b $targetBranch
例如:
git clone git@github.com:TaylorShi/HelloSerialPort.git -b master
拉取分支到本地指定目录
git clone git@xxxx.git $targetDirPath
例如:
git clone git@github.com:TaylorShi/HelloSerialPort.git masterdir
管理所有分支
查看本地
git branch
查看远程
git branch -a
删除分支
git branch -d targetBranchName
删除远程分支
git push origin :targetBranchName
切换到某个分支
纯切换
git checkout branchname
基于某个分支新建并且切换进入
git checkout -b newBranchName
git checkout -b newBranchName origin/targetBranchName
刷新并同步本地和远程的分支变更
git fetch origin --prune
如果合并存在冲突,需要取消该次合并
git merge --abort
如果想撤回最近的一些提交,彻底回到之前的某个提交
先Reset回你想保留的那个提交,拿到提交ID
--hard
,硬删除从这个ID到最新ID的中间提交
git reset --hard CommitId
git reset --hard 0e45f915c879821b5d289351468cd046eeb9c1d5
强行把本地分支推送到远程去覆盖这次修改
-f
,强制覆盖
git push origin BranchName -f
git push origin ZhangSan_FixBug_20191104 -f
查看配置
git config --global -l
git 一共有三个配置文件,且权重如下:
仓库级配置文件(--local) > 全局级配置文件(--global) >系统级配置文件(--system)
通过 git config 命令修改 git 配置
查看仓库级的config:git config --local -l
查看全局级的config:git config --global -l
查看系统级的config:git config --system -l
查看当前生效的配置:git config -l 会显示最终三个配置文件后的配置信息
Git设置配合Clash设置全局代理
git config --global http.https://github.com.proxy http://127.0.0.1:7890
这个是只针对Github做代理。
其实这个命令也不过是在C:\Users\User\.gitconfig
文件中添加了一些配置项
[http "https://github.com"]
proxy = http://127.0.0.1:7890
如果要设置全局的,也可以
git config --global http.proxy http://127.0.0.1:7890
[http]
proxy = http://127.0.0.1:7890
修改上一次提交的Commit备注
哈哈,今天遇到一个情况,手贱从Visual Studio Code提前把修改的内容给Commit了,关键是Commit的内容还是乱填的,哈哈,这可怎么办。
git commit --amend
这个还真的可以进去到上一次Commit里面,进入修改模式。
它会带你进一个类似Vim的编辑,按下i
可以编辑之前的备注内容,按esc
退出编辑模式,然后按:wq
保存并退出。
Nuget常用命令
发布本地新包
dotnet nuget push xxx.xxxxxxxx.xxxx.1.0.0.0.nupkg -k xxxxxxxx -s http://x.x.1.x:x/nuget
删除远程老包
./nuget.exe delete xxx.xxxxxxxx.xxxx 1.0.0.0 -Source http://x.x.1.x:x/nuget -apikey xxxxxxxxx
CMD常用命令
批量去除文件夹内文件后缀
ren * *.
xxxxxxxx>ren * *.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步