Bitbucket在PyCharm上提供Git服务(https⽅式)Bitbucket创建Project、Repository参考
笔者使⽤未在配置SSH Key的⼀台电脑来实操这个过程。
获取https clone地址
<中打开需同步的Repository,点击clone(克隆)获取https的地址。
在⼯作区的上级⽬录,右键Git Bash Here打开终端:
cary@carysLaptop MINGW64 /e/Python
$ git clone /carysunqd/pyc_study.git
Cloning into 'pyc_study'...
remote: Counting objects: 20, done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 20 (delta 2), reused 0 (delta 0)
Unpacking objects: 100% (20/20), done.
cary@carysLaptop MINGW64 /e/Python
$ ll pyc_study/
total 5
-rw-r--r-- 1 cary 197121 540 4Ô  17 17:46 main.py
-rw-r--r-- 1 cary 197121 853 4Ô  17 17:46 README.md
cary@carysLaptop MINGW64 /e/Python
$ ll -a pyc_study/git设置用户名和邮箱
total 17
drwxr-xr-x 1 cary 197121  0 4Ô  17 17:46 ./
drwxr-xr-x 1 cary 197121  0 4Ô  17 17:45 ../
drwxr-xr-x 1 cary 197121  0 4Ô  17 17:46 .git/
drwxr-xr-x 1 cary 197121  0 4Ô  17 17:46 .idea/
-rw-r--r-- 1 cary 197121 540 4Ô  17 17:46 main.py
-rw-r--r-- 1 cary 197121 853 4Ô  17 17:46 README.md
cary@carysLaptop MINGW64 /e/Python
妈呀!没有使⽤⽤户名、⼝令,居然也clone到了项⽬。后⾯经过,还是不明其中原因,欢迎阅读到本⽂的⼤侠出⼿相助!。PyCharm中打开clone到的项⽬(⼯作区⽂件夹)
在PyCharm中使⽤git可以选择记住⼝令。
本地commit,Fix and Commit
选择【Fix and Commit】
1. 不同操作系统下,处理⾏尾结束符的⽅法是不同的:
windows下:CRLF(表⽰句尾使⽤回车换⾏两个字符,即windows下的"\r\n"换⾏)
unix下:LF(表⽰句尾,只使⽤换⾏)
mac下:CR(表⽰只使⽤回车)
2. Git下处理“换⾏”(line ending)
  core.autocrlf是git中负责处理line ending的变量,可以设置3个值:true,false,inout。
设置为true【config --global core.autocrlf true】
当设置成true时,这意味着你在任何时候添加(add)⽂件到git仓库时,git都会视为它是⼀个⽂本⽂件(text file)。
它将把crlf变成LF。
设置为false【config --global core.autocrlf false】
当设置成false时,line endings将不做转换操作。⽂本⽂件保持原来的样⼦。
设置为input时,添加⽂件git仓库时,git把crlf编程lf。当有⼈Check代码时还是lf⽅式。因此在window操作系统下,不要使⽤这个设置。
Push(Ctrl+Shift+K)
<查看变化,ok!
上⾯遇到⼀个问题,没有使⽤⽤户名、⼝令也clone到了项⽬。
似乎应验了中摘抄的廖⽼师的忠告:
“友情提⽰:在GitHub / Bitbucket上免费托管的Git仓库,任何⼈都可以看到喔(但只有你⾃⼰才能改)。所以,不要把敏感信息放进去。”
似乎即便是Private的Repository也是可以被任何⼈获取的,即便没有Atlassian账户。
笔者使⽤git config --get user.name和git config --ail查看本机git⽤户名、邮箱,发现并⾮Bitbucket的⽤户信息,⽽是其他平台的。检查使⽤的clone地址是https的,应该是没⾛ssh。
这是否说明即便Project、Repository被设置为 Private,⽆需⾝份验证,所有⼈都是可以通过clone获取到Repository的呢?当然前提是获取者取得https的git Repository地址。
果真如此吗?经验证似乎也不是这样。
由Bitbucket⽹站进⼊验证
从/carysunqd/pyc_study/src/master/README.md地址访问我的private项⽬,要求使⽤Atlassian账户登录,但即便⾮所有者账号成功登录,也⽆法在浏览器中看到所有者的Private项⽬源码。如下:
换电脑,使⽤git clone验证
先安装git
clone提⽰2次⼝令录⼊,第⼀次录⼊正确,第⼆次录⼊错误,提⽰错误,如下。
再次clone,第⼀次录⼊⼝令错误,第⼆次录⼊正确,正常获取到repository,如下。
dayong@samsung-dayong MINGW64 /f/fromGit/bitbucket
$ git clone /carysunqd/pyc_study.git
Cloning into 'pyc_study'...
fatal: 发送请求时出错。
fatal: 请求被中⽌: 未能创建 SSL/TLS 安全通道。
remote: Invalid username or password
fatal: Authentication failed for '/carysunqd/pyc_study.git/'
dayong@samsung-dayong MINGW64 /f/fromGit/bitbucket
$ git clone /carysunqd/pyc_study.git
Cloning into 'pyc_study'...
fatal: 发送请求时出错。
fatal: 请求被中⽌: 未能创建 SSL/TLS 安全通道。
remote: Counting objects: 29, done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 29 (delta 6), reused 0 (delta 0)
Unpacking objects: 100% (29/29), 7.12 KiB | 22.00 KiB/s, done.
dayong@samsung-dayong MINGW64 /f/fromGit/bitbucket
$
clone时初次要求⼝令:
clone时第⼆次要求⼝令:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。