원격 https://github.com
호스트 리포지토리의 용도로 사용되는 긴 사용자 지정 스크립트입니다. 나는 가장자리의 오류가 발생할 가능성이 있기 때문에 곧 수정하겠습니다.
이 작업을하려면 git_relative.sh
파일에 코드 조각을 저장하고 아무 곳에 나 배치하십시오. 이제 ~/
홈 디렉토리에 배치하십시오.
지금 수정하여
~/.bashrc
또는
~/.zshrc
또는
~/.bash_profile
터미널을 다시 시작하거나이 추가 대응 bash는 스크립트를 실행
이 줄
alias git_remote_path='source ~/git_relative.sh'
를 추가하여. 그런 다음 어떤 자식 저장소에 가서
git_remote_path
을 실행하십시오. git 원격 서버의 전체 경로를 출력합니다.
당신이 준 예제는 기존의 github.com
과는 다른 원격 URL을 가진 것 같습니다. 이를 위해, 내가 주석에서 지정한 줄만 바꾸면된다.
참고 : 사용자 정의 URL에 대한 경로를 얻으려면 스크립트는, https://github.com
원격 URL에 대한 작동, 당신은 코드 저장소 URL 규칙의 요구에 맞게 조금 수정해야합니다. 한 예가 스 니펫에 주석으로 포함되어 있습니다.
is_git=false
relative_to_git=""
check=""
initial=$(pwd)
current_dir=""
count=0
if [ ! $(git rev-parse --is-inside-work-tree 2> /dev/null) ]; then
echo "NOT INSIDE A VALID GIT REPOSITORY"
return
fi
git_remote=$(git config --get remote.origin.url)
git_remote=${git_remote%.git}
git_branch=$(git rev-parse --abbrev-ref HEAD)
while [ $is_git=true ]
do
if [ -d ".git" ]; then
break
fi
current_dir=${PWD##*/}
relative_to_git="$current_dir/$relative_to_git"
cd ../
done
# echo "$git_remote/+/$git_branch/$relative_to_git"
# For andoid.googlesource.com uncomment the above and comment the below lines
echo "$git_remote/tree/$git_branch/$relative_to_git"
cd $initial
AFAIK 이것은 가능하지 않습니다. 일반적으로 서버에서 사용되는 베어 리포 지 토리에서는 파일에 직접 액세스 할 수 없습니다 (압축되지 않은 경우에는 자세한 내용은 https://git-scm.com/book/en/v2/Git-Internals-Packfiles 참조). . 예를 들어, GitHub과 같은 HTTP (S)를 사용하여 개별 파일에 액세스 할 수있는 Git 서버를 사용하는 경우 응답은 공급 업체별입니다 – Melebius