记录一下关于sourcetree的使用问题

记录一下关于sourcetree的使用问题

第一个问题:(无法Add旧的文件)fatal:detected dubious ownership in repository

起因是电脑升下级,换了硬件,重装了系统,原来的仓库文件在装系统的时候被自动更改了盘符,重新安装sourcetree后,用sourcetree来Add的时候总是提示有错误发生,如下图所示:
在这里插入图片描述
在网上找了好久,也没有找到什么原因,今天又试着找了下,终于翻到了篇文章,链接:git遇到错误提示:unsafe repository 怎么解决?
文章的作者说他试了1和3两种方法,我今天试了第二种方法,除了第一次变更用户时耗时久,再次Add 时也是立马成功了(后面秒变更)。原因也是因为重装了系统导致用户名更改了,在此记录一下,不想看链接的,我直接将内容粘贴复制过来了。

方法1:
git bash执行:
git config --global --add safe.directory “*”;
即可。
或者手工编辑.gitconfig文件(一般在c:\Users\你的windows用户名\),在[safe]节点下加入:
directory = *
即可。
方法2:文件目录-右键-属性-安全-高级-所有者-更改为 你的当前用户。
方法3:找到安装目录下的git-gui.exe,右键-属性-兼容性-以管理员身份运行次程序-打勾。
以上方法1和方法3实测可以解决,方法2没测试。
————————————————
版权声明:本文为优快云博主「powerants」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/powerants/article/details/125495973

第二个问题,文件名称路径过长

sourcetree 报错error: (xxxxxxxx)Filename too long
网上看到的是直接cmd 输入:git config --system core.longpaths true
回车即可

### Sourcetree 使用教程 Sourcetree 是一款免费的 Git 和 Mercurial 客户端,支持 macOS 和 Windows 平台[^1]。它提供了图形化界面来简化复杂的命令行操作,使开发者可以更高效地进行版本控制。 #### 1. 下载与安装 访问 Sourcetree 的官方网站下载适合您系统的客户端并完成安装过程。安装完成后启动程序会提示登录 Atlassian 账号或者创建新账号以便同步云端仓库数据。 #### 2. 配置基础设置 首次打开应用时需配置基本环境变量如用户名邮箱等信息确保提交记录准确无误[^2]: ```bash git config --global user.name "Your Name" git config --global user.email "your_email@example.com" ``` #### 3. 创建/克隆项目库 - **新建本地仓库**: 可通过菜单栏 `Repository -> Create Repository` 来初始化一个新的 git repository。 - **远程仓库拉取(Clone)**: 输入目标 URL 地址即可从服务器上获取已有工程副本到本地磁盘位置指定文件夹下存储。 #### 4. 日常操作指南 ##### a. 提交更改 (Commit Changes) 当修改某些源码之后想要保存这些改动至历史记录当中,则需要执行 commit 动作。选中待处理变更列表里的条目右键点击选择 stage all changes 将其标记为已暂存状态;接着填写描述性的 message 后按 Commit 按钮即成功录入当前时刻的工作成果。 ##### b. 推送更新(Push Updates) 如果希望把最近一次或多次 commits 发布出去让团队其他成员可见的话就需要做 push 操作了。只需简单双击 Push 图标按照向导指示一步步走完流程就完成了推送任务。 ##### c. 获取最新代码(Fetch/Pull Latest Code) 为了保持自己分支始终处于最新状况应该经常性 fetch/pull 别人的贡献回来合并进来形成统一的整体解决方案。Fetch 命令只是单纯下载远端变动而不会自动整合进工作区所以一般情况下建议采用 Pull 方法因为它等于 Fetch 加 Merge 两步合一更加便捷实用。 ##### d. 解决冲突(Merge Conflicts) 偶尔会出现多人编辑同一份文档造成分歧现象此时就必须手动介入调整直至消除矛盾为止再继续后续步骤比如重新 commit & push 上去共享给所有人查看学习借鉴。 #### 5. 其他高级特性概览 除了上述提到的基础功能之外 SourceTree 还具备许多强大的附加选项可供探索挖掘例如 cherry-pick、rebase、stash 等等功能模块可以帮助用户灵活应对各种复杂场景需求提升工作效率减少重复劳动时间成本支出等问题发生几率降低风险系数提高整体质量水平达到事半功倍的效果。 ```python # 示例 Python 脚本展示如何自动化部分任务 import subprocess def run_git_command(command): result = subprocess.run(['git'] + command.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE) return result.stdout.decode('utf-8'), result.stderr.decode('utf-8') output, error = run_git_command("status") print(output) if error: print(f"Error occurred: {error}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ThousandsOfSongs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值