গিট ব্যাশের একটি উইন্ডোজ ইনস্টলে ~ ডিরেক্টরিটির অবস্থান পরিবর্তন করুন


138

আমি নিশ্চিত না যে আমি সঠিক প্রশ্ন জিজ্ঞাসা করছি। আমাকে আমার পরিস্থিতি ব্যাখ্যা করতে দাও:

এটি উইন্ডোজ 7 এ গিট সম্পর্কে।

আমার সংস্থা স্থানীয় হার্ড ড্রাইভে নয় (এই প্রশ্নের ক্ষেত্রের বাইরে ব্যাকআপ এবং অন্যান্য উদ্দেশ্যে) একটি নেটওয়ার্ক ড্রাইভে উইন্ডোজ ব্যবহারকারী ডিরেক্টরি সেট আপ করে। আমি সেই নীতি পরিবর্তন করতে পারি না।

আমার কাছে সেই স্কিমের বাইরে স্থানীয় ফাইল থাকতে পারে এবং সেভাবেই আমার অ্যাপাচি সার্ভার সেট আপ করা আছে। সম্পূর্ণ স্থানীয়।

আমি গিট ইনস্টল করেছি। এটি ব্যাশ ইনস্টল করে। আমি যখন বাশকে জ্বালিয়ে ফেলি এবং cd ~(রুট ডিরেক্টরিতে পরিবর্তন করি) আমি দেখতে পাই যে এটি (বাশ রুট) আমার নেটওয়ার্ক ব্যবহারকারী ডিরেক্টরিকে নির্দেশ করে। আমি এটা করতে না চান। আমি ~আমার হার্ড ড্রাইভে অন্য কোথাও থাকতে চাই । আমি এটি চাই যাতে আমি যখন অন্য ক্রিয়াকলাপগুলি পরিচালনা করি যেমন শংসাপত্র ইনস্টল করা, একটি এসএসএইচ কী ইত্যাদি its তার ডিফল্ট স্বয়ংক্রিয়ভাবে সেই নেটওয়ার্ক ডিরেক্টরিটি ব্যবহার না করে।

আমি সর্বত্র নিরর্থকভাবে অনুসন্ধান করেছি এবং আমি যা কিছু পাই তা উত্তরগুলি, পুনর্নির্দেশ এবং অবস্থান সম্পর্কিত। হোম পয়েন্টের সাথে জড়িত এমন উত্তরগুলিকে বোঝায়। তবে তা আমি আদৌ চাই না।

প্রশ্নটি: আমি কি সেই ডিরেক্টরিটি পরিবর্তন করতে পারি? এবং যদি তাই হয়: কিভাবে?

আপডেট: সুতরাং, OME হোমটি আমাকে যা সংশোধন করা দরকার। তবে এই পৌরাণিক $ হোম ভেরিয়েবলটি কোথায় সেট করা হয়েছে তা সন্ধান করতে আমি অক্ষম হয়েছি তাই আমি ধরে নিয়েছি এটি প্যাথ বা কোনও কিছুর লিনাক্স সিস্টেম সংস্করণ। যাইহোক ...

আমার অধীনে একটি "প্রোফাইল" ফাইল রয়েছে git/etc। এখানে লিখিত সামগ্রী রয়েছে (নোটিশ নো no হোম):

  # To the extent possible under law, the author(s) have dedicated all
  # copyright and related and neighboring rights to this software to the
  # public domain worldwide. This software is distributed without any warranty.
  # You should have received a copy of the CC0 Public Domain Dedication along
  # with this software.
  # If not, see <http://creativecommons.org/publicdomain/zero/1.0/>.


  # System-wide profile file

  # Some resources...
  # Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
  # Consistent BackSpace and Delete Configuration:
  #   http://www.ibb.net/~anne/keyboard.html
  # The Linux Documentation Project: http://www.tldp.org/
  # The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/
  # Greg's Wiki http://mywiki.wooledge.org/

  # Setup some default paths. Note that this order will allow user installed
  # software to override 'system' software.
  # Modifying these default path settings can be done in different ways.
  # To learn more about startup files, refer to your shell's man page.

  MSYS2_PATH="/usr/local/bin:/usr/bin:/bin"
  MANPATH="/usr/local/man:/usr/share/man:/usr/man:/share/man:${MANPATH}"
  INFOPATH="/usr/local/info:/usr/share/info:/usr/info:/share/info:${INFOPATH}"
  MINGW_MOUNT_POINT=
  if [ -n "$MSYSTEM" ]
  then
    case "$MSYSTEM" in
      MINGW32)
        MINGW_MOUNT_POINT=/mingw32
        PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
        PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
        ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
        MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
      ;;
      MINGW64)
        MINGW_MOUNT_POINT=/mingw64
        PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
        PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
        ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
        MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
      ;;
      MSYS)
        PATH="${MSYS2_PATH}:/opt/bin:${PATH}"
        PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
      ;;
      *)
        PATH="${MSYS2_PATH}:${PATH}"
      ;;
    esac
  else
    PATH="${MSYS2_PATH}:${PATH}"
  fi

  MAYBE_FIRST_START=false
  SYSCONFDIR="${SYSCONFDIR:=/etc}"

  # TMP and TEMP as defined in the Windows environment must be kept
  # for windows apps, even if started from msys2. However, leaving
  # them set to the default Windows temporary directory or unset
  # can have unexpected consequences for msys2 apps, so we define
  # our own to match GNU/Linux behaviour.
  ORIGINAL_TMP=$TMP
  ORIGINAL_TEMP=$TEMP
  #unset TMP TEMP
  #tmp=$(cygpath -w "$ORIGINAL_TMP" 2> /dev/null)
  #temp=$(cygpath -w "$ORIGINAL_TEMP" 2> /dev/null)
  #TMP="/tmp"
  #TEMP="/tmp"
  case "$TMP" in *\\*) TMP="$(cygpath -m "$TMP")";; esac
  case "$TEMP" in *\\*) TEMP="$(cygpath -m "$TEMP")";; esac
  test -d "$TMPDIR" || test ! -d "$TMP" || {
    TMPDIR="$TMP"
    export TMPDIR
  }


  # Define default printer
  p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/Device'
  if [ -e "${p}" ] ; then
    read -r PRINTER < "${p}"
    PRINTER=${PRINTER%%,*}
  fi
  unset p

  print_flags ()
  {
    (( $1 & 0x0002 )) && echo -n "binary" || echo -n "text"
    (( $1 & 0x0010 )) && echo -n ",exec"
    (( $1 & 0x0040 )) && echo -n ",cygexec"
    (( $1 & 0x0100 )) && echo -n ",notexec"
  }

  # Shell dependent settings
  profile_d ()
  {
    local file=
    for file in $(export LC_COLLATE=C; echo /etc/profile.d/*.$1); do
      [ -e "${file}" ] && . "${file}"
    done

    if [ -n ${MINGW_MOUNT_POINT} ]; then
      for file in $(export LC_COLLATE=C; echo ${MINGW_MOUNT_POINT}/etc/profile.d/*.$1); do
        [ -e "${file}" ] && . "${file}"
      done
    fi
  }

  for postinst in $(export LC_COLLATE=C; echo /etc/post-install/*.post); do
    [ -e "${postinst}" ] && . "${postinst}"
  done

  if [ ! "x${BASH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc"
  elif [ ! "x${KSH_VERSION}" = "x" ]; then
    typeset -l HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ')
  elif [ ! "x${ZSH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d zsh
    PS1='(%n@%m)[%h] %~ %% '
  elif [ ! "x${POSH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    PS1="$ "
  else
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    PS1="$ "
  fi

  if [ -n "$ACLOCAL_PATH" ]
  then
    export ACLOCAL_PATH
  fi

  export PATH MANPATH INFOPATH PKG_CONFIG_PATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
  test -n "$TERM" || export TERM=xterm-256color

  if [ "$MAYBE_FIRST_START" = "true" ]; then
    sh /usr/bin/regen-info.sh

    if [ -f "/usr/bin/update-ca-trust" ]
    then
      sh /usr/bin/update-ca-trust
    fi

    clear
    echo
    echo
    echo "###################################################################"
    echo "#                                                                 #"
    echo "#                                                                 #"
    echo "#                   C   A   U   T   I   O   N                     #"
    echo "#                                                                 #"
    echo "#                  This is first start of MSYS2.                  #"
    echo "#       You MUST restart shell to apply necessary actions.        #"
    echo "#                                                                 #"
    echo "#                                                                 #"
    echo "###################################################################"
    echo
    echo
  fi
  unset MAYBE_FIRST_START

~আপনার হোম ডিরেক্টরি উপস্থাপন করে। পরিবর্তন করা হচ্ছে HOMEএনভায়রনমেন্ট ভেরিয়েবল যেখানে এটা যায় পরিবর্তন করতে হবে।

কেবলমাত্র একটি দ্রষ্টব্য: HOMEপরিবেশের পরিবর্তনশীলগুলি কেবল যেখানে ~নির্দেশ করে সেখানে পরিবর্তন হয় না , তবে ব্যবহারকারীর হোম ডিরেক্টরিতে অ্যাক্সেস করা সমস্ত কিছু সেখানে যাওয়া উচিত।
ডেভিড ফেরেনসি রোগান

~"ব্যবহারকারীর হোম ডিরেক্টরি" এর জন্য কেবল একটি শর্টহ্যান্ড, সুতরাং যেখানেই ~নির্দেশ করা যায় সেখানে ব্যবহারকারীর হোম ডিরেক্টরি রয়েছে।
ডেভিড ফেরেনসি রোোগান

হ্যাঁ, এটি সেট করতে আমি এই $ হোম ভেরিয়েবলটি খুঁজে পাচ্ছি না। উপরে আমার প্রোফাইল ফাইলের মতো দেখতে আমি যুক্ত করেছি।
পুবকোলিনা

আমি দেখছি, আপনার কাছে সম্ভবত গিটের আলাদা সংস্করণ রয়েছে। আপনার কি সংস্করণ আছে? বিটিডাব্লু প্রোফাইলের শেষে হোমের সেটিং যুক্ত করার চেষ্টা করে। তবে এটি সম্ভব, এটি অন্য কোথাও ওভাররাইট করা হবে।
ডেভিড ফেরেঞ্জি রোগোয়ান

উত্তর:


140

আমি বুঝতে পারছি না, আপনি কেন $HOMEপরিবেশের পরিবর্তনশীল সেট করতে চান না কারণ এটি আপনার জন্য যা বলছে ঠিক তা সমাধান করে।

cd ~রুট ডিরেক্টরিতে পরিবর্তন বলতে বোঝায় না , তবে ব্যবহারকারীর হোম ডিরেক্টরিতে পরিবর্তন করুন যা $HOMEপরিবেশ পরিবর্তনশীল দ্বারা সেট করা হয়েছে ।

দ্রুত সমাধান করুন

আপনি যা চান তার পরিবর্তনশীল C:\Program Files (x86)\Git\etc\profileসেট করুন এবং সেট করুন $HOME(এটি সেখানে না থাকলে এটি যুক্ত করুন)। একটি শর্ত দ্বারা মন্তব্য করার পরে ঠিক একটি ভাল জায়গা উদাহরণস্বরূপ হতে পারে # Set up USER's home directory। এটি অবশ্যই MinGW ফর্ম্যাটে থাকতে হবে, উদাহরণস্বরূপ:

HOME=/c/my/custom/home

এটি সংরক্ষণ করুন, গিট ব্যাশ খুলুন এবং সম্পাদন করুন cd ~। আপনার /c/my/custom/homeএখন ডিরেক্টরিতে থাকা উচিত ।

ব্যবহারকারীর প্রোফাইলে অ্যাক্সেস করে এমন সমস্ত কিছু আপনার নিজের কম্পিউটারে ড্রাইভের উইন্ডোজ প্রোফাইলের পরিবর্তে এই ডিরেক্টরিতে যেতে হবে।

দ্রষ্টব্য: C:\Program Files (x86)\Git\etc\profile সমস্ত ব্যবহারকারীর দ্বারা ভাগ করা হয়েছে, সুতরাং মেশিনটি যদি একাধিক ব্যবহারকারী দ্বারা ব্যবহৃত হয়, তবে $HOMEগতিশীলভাবে সেট করা ভাল ধারণা :

HOME=/c/Users/$USERNAME

ক্লিনার সমাধান

HOMEউইন্ডোতে পরিবেশের পরিবর্তনশীল যা আপনি চান ডিরেক্টরিতে সেট করুন । এই ক্ষেত্রে, আপনাকে এটি উইন্ডোজ পাথ ফর্ম্যাটে সেট করতে হবে (ব্যাকস্ল্যাশগুলি সহ, উদাহরণস্বরূপ c:\my\custom\home), গিট বাশ এটিকে লোড করবে এবং এটিকে তার বিন্যাসে রূপান্তর করবে।

আপনি যদি নিজের মেশিনে সমস্ত ব্যবহারকারীর জন্য হোম ডিরেক্টরি পরিবর্তন করতে চান তবে এটি একটি সিস্টেম এনভায়রনমেন্ট ভেরিয়েবল হিসাবে সেট করুন , আপনি উদাহরণস্বরূপ %USERNAME%ভেরিয়েবল ব্যবহার করতে পারেন যাতে প্রতিটি ব্যবহারকারীর নিজস্ব হোম ডিরেক্টরি থাকতে পারে:

HOME=c:\custom\home\%USERNAME%

আপনি যদি কেবল নিজের জন্য হোম ডিরেক্টরিটি পরিবর্তন করতে চান তবে এটি একটি ব্যবহারকারী পরিবেশ পরিবর্তনশীল হিসাবে সেট করুন , যাতে অন্য ব্যবহারকারীরা প্রভাবিত হবে না। এই ক্ষেত্রে, আপনি কেবল পুরো পথটি হার্ড-কোড করতে পারেন:

HOME=c:\my\custom\home

3
ধন্যবাদ, আমি আমার প্রোফাইল ফাইলে কোনও vari হোম ভেরিয়েবলটি খুঁজে পাচ্ছি না। আমি প্রশ্ন যুক্ত করেছি। এক নজর দেখে নাও. সেই পরিবর্তনশীলটির জন্য আমার অন্য কোথাও তাকাতে হবে?
পুবকোলিনা

1
পুরো ডিরেক্টরিতে অন্য কোনও ফাইল কল / সেট $ হোম।
পিউলকিনা

1
সুতরাং আপনি কি এটি কোথাও যুক্ত করার চেষ্টা করেছিলেন? নীচে উদাহরণস্বরূপ profile? HOMEভেরিয়েবলের বিষয়বস্তু গিট-ব্যাশে এই জাতীয় দেখতে পাওয়া উচিত: কেবল একটি নোট /c/some/path
ডেভিড ফেরেঞ্জি রোগোয়ান

6
প্রোফাইল ফাইলের শীর্ষে হোম যুক্ত করে কাজ করা হয়েছে। HOME="c://path/to/custom/root/"
পাইউকোলিনা

3
'হোম' সিস্টেম এনভায়রনমেন্ট ভেরিয়েবল যোগ করার ফলে গিট ফোল্ডারে প্রোফাইল ফাইল সম্পাদনা করার চেয়ে সমস্যার সমাধান হয়েছে
ফার্স্টপোস্টকমেন্টার

43

আমার ক্ষেত্রে, আমাকে যা করতে হয়েছিল তা হ'ল উইন্ডোজে নিম্নলিখিত ব্যবহারকারীর পরিবর্তনশীল :

পরিবর্তনশীল নাম: HOME
পরিবর্তনশীল মান:%USERPROFILE%

পরিবেশ পরিবর্তনশীল কীভাবে সেট করবেন (আপনি যদি সিস্টেম প্রশাসক না হন তবে ব্যবহারকারীর নাম বিভাগের জন্য আপনি ব্যবহারকারী ভেরিয়েবলগুলি ব্যবহার করতে পারেন )


3
এটি আমার পক্ষে নিখুঁতভাবে কাজ করেছে এবং গৃহীত উত্তরের একটি ভাল সমাধান আইএমও।
ডান_জি

2
এই উত্তরটি শীর্ষে যাওয়া উচিত।
ব্যবহারকারী 4015990

1
এটি একই কাজ করে তবে একই মেশিনে একাধিক ব্যবহারকারী ব্যবহার না করে। আমাকে HOME=/c/Users/$USERNAMEপ্রোফাইলে যুক্ত করার সাথে যেতে হয়েছিল ।
gonzo

3
এটি শীর্ষ উত্তর হওয়া উচিত। গিটব্যাশকে আমার উইন্ডোজ ব্যবহারকারী ফোল্ডারে (সি: \ ব্যবহারকারী \ ব্যবহারকারীর নাম) .ssh ডিরেক্টরিটি ব্যবহার করার একমাত্র উপায় (একমাত্র উপায় আমি খুঁজে পেতে পারি)। আমার সিস্টেমে এটি% HOMEDRIVE% (M :) এ ডিফল্ট হয়েছিল। এবং অবশ্যই এটি পরে কাজ করবে এবং গিটব্যাশকে আপডেট করবে!
ইয়ানিস দ্য ইয়াক

1
এটি যদি আপনার কোনও vari হোম ভেরিয়েবল সেট না থাকে তবে এটি কাজ করে তবে এটি মনে হয় যে ওপিতে policy HOM সংস্থা নীতি অনুসারে সেট করেছে। আমারও ওর সমস্যা আছে। এই উত্তরটি সে ক্ষেত্রে কার্যকর হয় না (নতুন নীতিটি সংস্থা নীতি দ্বারা স্বয়ংক্রিয়ভাবে ওভাররাইট হয়ে যায়)।
বিটস্যাক

38

আমি যা করেছি তা ভাগ করে নিয়েছি, যা কেবল গিতের জন্যই নয়, পাশাপাশি এমএসওয়াইএস / মিনজিডাব্লুও কাজ করে।

HOMEএনভায়রনমেন্ট ভেরিয়েবল সাধারণত, উইন্ডোজ অ্যাপ্লিকেশনের জন্য সেট না করা হয়, যাতে উইন্ডোজ মাধ্যমে এটি তৈরি অন্য কিছু প্রভাবিত করে না। কম্পিউটার প্রোপার্টি থেকে (কম্পিউটারে ডান ক্লিক করুন - বা এটির নাম হিসাবে যা কিছু রয়েছে - এক্সপ্লোরারে, এবং নির্বাচন করুন বৈশিষ্ট্য, বা নিয়ন্ত্রণ প্যানেল -> সিস্টেম এবং সুরক্ষা -> সিস্টেম) Advanced system settings, তারপরে বেছে নিন Environment Variables...এবং একটি নতুন তৈরি করুন HOME, এবং এটি নির্ধারণ করুন আপনি যেখানে খুশি

আপনি যদি নতুন পরিবেশের ভেরিয়েবল তৈরি করতে না পারেন তবে অন্য উত্তরটি এখনও কার্যকর হবে। (পরিবেশগত পরিবর্তনশীলগুলি কীভাবে তৈরি করা যায় তার বিশদটি আমি সুনির্দিষ্টভাবে দেখতে পেলাম কারণ এটি সন্ধান করা এত আলাদা।


4
কন্ট্রোল প্যানেল থেকে পরিবেশ পরিবর্তন করতে যদি আপনার প্রশাসকের অ্যাক্সেস না থাকে তবে আপনাকে rundll32 sysdm.cpl,EditEnvironmentVariables কমান্ড প্রম্পট থেকে নিম্নলিখিত কমান্ডটি প্রেরণ করতে হবে বা environmentএকই কমান্ডটি চালু করতে স্টার্ট মেনুতে টাইপ করতে হবে।
ক্রিস চিয়াসন 21

2
গিট-ব্যাশের জন্য হোম ডিরেক্টরি সেট করার জন্য এটি আমার পক্ষে কাজ করেছিল। উইন্ডোজে হোম পরিবেশের পরিবর্তনশীল সেট করা ঠিক আছে এবং এটি কীভাবে করবেন সে সম্পর্কে বিশদ নির্দেশাবলীর পুনরায় আশ্বাসের জন্য ধন্যবাদ। আমার লক্ষ্যটি সম্পাদন করার জন্য একটি সাধারণ পরিবর্তন।
স্টিফেন হোসিং

%USERPROFILE%আপনার হোম এনভায়রনমেন্ট ভেরিয়েবলের জন্য এটি একটি ভাল মান । আমার উত্তরটি দেখুন
এলিয়েনড্রো রিবেরো

@ এলিয়াড্রোরিবেইরো এটি একটি সম্ভাবনা এবং আপনার প্রয়োজনের উপর নির্ভর করে সম্ভবত একটি ভাল ধারণা। নিজেকে জন্য, আমি বিশেষভাবে হয়নি না এটা উপায় ithat না। আংশিকভাবে উইন্ডোজ এবং ইউনিক্সের মতো পরিবেশগুলি পৃথক করে রাখা (বিশৃঙ্খলা এড়াতে), এবং আংশিকভাবে আমার HOME( ~) মূল /গাছের কাছাকাছি রাখার জন্য । আমি আসলে একটি ডিরেক্টরি তৈরি করেছি C:/homeএবং এটি ব্যবহার করি। এছাড়াও, বিটিডাব্লু, ওপি উল্লেখ করেছে যে তার %USERPROFILE%জন্য , তিনি একটি নেটওয়ার্ক ড্রাইভে আছেন এবং আপনি বর্ণিত হিসাবে ব্যবহার করতে মারাত্মক বেদনাদায়ক।
মেনাচেম

1
হ্যাঁ মেনাচেম, আমি আপনাকে যথাযথ বলে প্রশংসা করি, তবে আমি যা অর্জন করতে চেয়েছিলাম তা কেবল প্রক্রিয়া বিবরণ ছিল তবে ফলাফলের উপর চাপ ছিল, যা স্টিফেন হোসিং এবং আমাকে সহ অনেক লোক নিশ্চিত করেছে। অর্থাত্, আমার কাছে শেষ ফলাফলের বিষয়টি গুরুত্বপূর্ণ, অন্যান্য বিশদগুলি আরও একটি বিচ্যুতি। আশা করি আপনার সাথে এটি ঠিক আছে।
xpt

21

গ্লোবাল পরিবর্তন করার পরিবর্তে profileআপনি নিম্নলিখিত ডিফল্টগুলি দিয়ে .bash_profileআপনার ডিফল্ট $HOMEডিরেক্টরিতে (উদাহরণস্বরূপ C:\Users\WhateverUser\.bash_profile) তৈরি করতে পারেন :

export HOME="C:\my\projects\dir"
cd "$HOME" # if you'd like it to be the starting dir of the git shell

হ্যাঁ! .bash_profileআপনার পরিবেশকে অনুকূলিতকরণের সঠিক উপায়, হ্যাকিং .profileভাল অনুশীলন নয়।
রোব্লোগিক

1
@ropata "হ্যাকিং" ~/.profileঠিক আছে। প্রকৃতপক্ষে, ডক্সগুলি এটিকে বেশি পছন্দ করে ~/.bash_profie: "পরিবেশগত ভেরিয়েবলের জন্য উপযুক্ত ফাইল যা কেবলমাত্র একটি নির্দিষ্ট ব্যবহারকারীর (পুরো সিস্টেমের পরিবর্তে) প্রভাবিত করে ... ... /। প্রোফাইল।" এবং: "শেল কনফিগারেশন ফাইলগুলি যেমন ... vari / .bash_profile ... প্রায়শই পরিবেশের ভেরিয়েবল সেট করার জন্য পরামর্শ দেওয়া হয় While যদিও শেল থেকে শুরু হওয়া প্রোগ্রামগুলির জন্য এটি ব্যাশ শেলগুলিতে কাজ করতে পারে, সেই ফাইলগুলিতে সেট করা ভেরিয়েবলগুলি ডিফল্টরূপে উপলব্ধ হয় না While একটি প্রোগ্রাম ডেস্কটপ সেশনে গ্রাফিকাল পরিবেশ থেকে শুরু প্রোগ্রাম। " help.ubuntu.com
পার্কার

7

1. গিটব্যাশ শর্টকাটে রাইট ক্লিক করুন বৈশিষ্ট্যগুলি
বেছে নিন
2. "শর্টকাট" ট্যাবটি নির্বাচন করুন 3. আপনার শুরু ডিরেক্টরিটি "ক্ষেত্রের
শুরুতে" টাইপ করুন 4. "টার্গেট" ক্ষেত্র থেকে "-সিডি-টু-হোম" অংশটি সরান 4.


5
আসলে পরিবর্তন করে না $HOMEপরিবর্তনশীল
roblogic

1
উইন্ডোজের কোন সংস্করণ? উইন্ডোজ 10-এ প্রোপার্টি পাওয়া সম্ভব হবে বলে মনে হচ্ছে না
পিটার মর্টেনসেন

Gitbash করতে SHORTCUT করতে @PeterMortensen ডান ক্লিক প্রোপার্টি চয়ন
Özgür Öztürk

4

সুতরাং, OME হোম আমাকে যা সংশোধন করা দরকার। তবে এই পৌরাণিক $ হোম ভেরিয়েবলটি কোথায় সেট করা হয়েছে তা সন্ধান করতে আমি অক্ষম হয়েছি তাই আমি ধরে নিয়েছি এটি প্যাথ বা কোনও কিছুর লিনাক্স সিস্টেম সংস্করণ। যাইহোক ... **

উত্তর

profileফাইলটির শীর্ষে হোম যোগ করার কাজ।

HOME="c://path/to/custom/root/"

  #THE FIX WAS ADDING THE FOLLOWING LINE TO THE TOP OF THE PROFILE FILE

  HOME="c://path/to/custom/root/"

  # below are the original contents ===========
  # To the extent possible under law, ..blah blah

  # Some resources...
  # Customizing Your Shell: http://www.dsl.org/cookbook/cookbook_5.html#SEC69
  # Consistent BackSpace and Delete Configuration:
  #   http://www.ibb.net/~anne/keyboard.html
  # The Linux Documentation Project: http://www.tldp.org/
  # The Linux Cookbook: http://www.tldp.org/LDP/linuxcookbook/html/
  # Greg's Wiki http://mywiki.wooledge.org/

  # Setup some default paths. Note that this order will allow user installed
  # software to override 'system' software.
  # Modifying these default path settings can be done in different ways.
  # To learn more about startup files, refer to your shell's man page.

  MSYS2_PATH="/usr/local/bin:/usr/bin:/bin"
  MANPATH="/usr/local/man:/usr/share/man:/usr/man:/share/man:${MANPATH}"
  INFOPATH="/usr/local/info:/usr/share/info:/usr/info:/share/info:${INFOPATH}"
  MINGW_MOUNT_POINT=
  if [ -n "$MSYSTEM" ]
  then
    case "$MSYSTEM" in
      MINGW32)
        MINGW_MOUNT_POINT=/mingw32
        PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
        PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
        ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
        MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
      ;;
      MINGW64)
        MINGW_MOUNT_POINT=/mingw64
        PATH="${MINGW_MOUNT_POINT}/bin:${MSYS2_PATH}:${PATH}"
        PKG_CONFIG_PATH="${MINGW_MOUNT_POINT}/lib/pkgconfig:${MINGW_MOUNT_POINT}/share/pkgconfig"
        ACLOCAL_PATH="${MINGW_MOUNT_POINT}/share/aclocal:/usr/share/aclocal"
        MANPATH="${MINGW_MOUNT_POINT}/share/man:${MANPATH}"
      ;;
      MSYS)
        PATH="${MSYS2_PATH}:/opt/bin:${PATH}"
        PKG_CONFIG_PATH="/usr/lib/pkgconfig:/usr/share/pkgconfig:/lib/pkgconfig"
      ;;
      *)
        PATH="${MSYS2_PATH}:${PATH}"
      ;;
    esac
  else
    PATH="${MSYS2_PATH}:${PATH}"
  fi

  MAYBE_FIRST_START=false
  SYSCONFDIR="${SYSCONFDIR:=/etc}"

  # TMP and TEMP as defined in the Windows environment must be kept
  # for windows apps, even if started from msys2. However, leaving
  # them set to the default Windows temporary directory or unset
  # can have unexpected consequences for msys2 apps, so we define
  # our own to match GNU/Linux behaviour.
  ORIGINAL_TMP=$TMP
  ORIGINAL_TEMP=$TEMP
  #unset TMP TEMP
  #tmp=$(cygpath -w "$ORIGINAL_TMP" 2> /dev/null)
  #temp=$(cygpath -w "$ORIGINAL_TEMP" 2> /dev/null)
  #TMP="/tmp"
  #TEMP="/tmp"
  case "$TMP" in *\\*) TMP="$(cygpath -m "$TMP")";; esac
  case "$TEMP" in *\\*) TEMP="$(cygpath -m "$TEMP")";; esac
  test -d "$TMPDIR" || test ! -d "$TMP" || {
    TMPDIR="$TMP"
    export TMPDIR
  }


  # Define default printer
  p='/proc/registry/HKEY_CURRENT_USER/Software/Microsoft/Windows NT/CurrentVersion/Windows/Device'
  if [ -e "${p}" ] ; then
    read -r PRINTER < "${p}"
    PRINTER=${PRINTER%%,*}
  fi
  unset p

  print_flags ()
  {
    (( $1 & 0x0002 )) && echo -n "binary" || echo -n "text"
    (( $1 & 0x0010 )) && echo -n ",exec"
    (( $1 & 0x0040 )) && echo -n ",cygexec"
    (( $1 & 0x0100 )) && echo -n ",notexec"
  }

  # Shell dependent settings
  profile_d ()
  {
    local file=
    for file in $(export LC_COLLATE=C; echo /etc/profile.d/*.$1); do
      [ -e "${file}" ] && . "${file}"
    done

    if [ -n ${MINGW_MOUNT_POINT} ]; then
      for file in $(export LC_COLLATE=C; echo ${MINGW_MOUNT_POINT}/etc/profile.d/*.$1); do
        [ -e "${file}" ] && . "${file}"
      done
    fi
  }

  for postinst in $(export LC_COLLATE=C; echo /etc/post-install/*.post); do
    [ -e "${postinst}" ] && . "${postinst}"
  done

  if [ ! "x${BASH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    [ -f "/etc/bash.bashrc" ] && . "/etc/bash.bashrc"
  elif [ ! "x${KSH_VERSION}" = "x" ]; then
    typeset -l HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    PS1=$(print '\033]0;${PWD}\n\033[32m${USER}@${HOSTNAME} \033[33m${PWD/${HOME}/~}\033[0m\n$ ')
  elif [ ! "x${ZSH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d zsh
    PS1='(%n@%m)[%h] %~ %% '
  elif [ ! "x${POSH_VERSION}" = "x" ]; then
    HOSTNAME="$(/usr/bin/hostname)"
    PS1="$ "
  else
    HOSTNAME="$(/usr/bin/hostname)"
    profile_d sh
    PS1="$ "
  fi

  if [ -n "$ACLOCAL_PATH" ]
  then
    export ACLOCAL_PATH
  fi

  export PATH MANPATH INFOPATH PKG_CONFIG_PATH USER TMP TEMP PRINTER HOSTNAME PS1 SHELL tmp temp
  test -n "$TERM" || export TERM=xterm-256color

  if [ "$MAYBE_FIRST_START" = "true" ]; then
    sh /usr/bin/regen-info.sh

    if [ -f "/usr/bin/update-ca-trust" ]
    then
      sh /usr/bin/update-ca-trust
    fi

    clear
    echo
    echo
    echo "###################################################################"
    echo "#                                                                 #"
    echo "#                                                                 #"
    echo "#                   C   A   U   T   I   O   N                     #"
    echo "#                                                                 #"
    echo "#                  This is first start of MSYS2.                  #"
    echo "#       You MUST restart shell to apply necessary actions.        #"
    echo "#                                                                 #"
    echo "#                                                                 #"
    echo "###################################################################"
    echo
    echo
  fi
  unset MAYBE_FIRST_START

2

সুতরাং, $HOMEআমি যা পরিবর্তন করতে হবে।

তবে এই পৌরাণিক $HOMEপরিবর্তনশীলটি কোথায় সেট হয়েছে তা সন্ধান করতে আমি অক্ষম হয়েছি তাই আমি ধরে নিয়েছিলাম এটি PATH বা কোনও কিছুর লিনাক্স সিস্টেম সংস্করণ।

গিট 2.23 (কিউ 3 2019) কীভাবে HOMEসেট করা আছে তা পুরোপুরি স্পষ্ট ।

দেখুন কমিট e12a955 দ্বারা (04 জুলাই 2019) কার্স্টেন Blees ( kblees)
(দ্বারা একীভূত junio সি Hamano - gitster- মধ্যে fc613d2 কমিট , 19 জুলাই 2019)

মিংডব: স্টার্টআপে হোম শুরু করুন

HOMEপ্রারম্ভিককরণটি differentতিহাসিকভাবে অনেকগুলি বিভিন্ন জায়গায় নকল করা হয়েছিল, যেমন /etc/profile, git-bash.vbsএবং এর থেকে gitk.cmd, এবং (যদিও কিছুটা ভাঙা হয়েছিল) সহ লঞ্চ স্ক্রিপ্টগুলি git-wrapper

যেমন এমনকি সম্পর্কহীন প্রকল্প GitExtensionsএবং TortoiseGitএকই যুক্তি বাস্তবায়ন করার প্রয়োজনীয়তা Git সরাসরি কল করতে সক্ষম হন।

আরম্ভ HOMEগীত নিজস্ব প্রারম্ভে কোডে যাতে আমরা অবশেষে সব ডুপ্লিকেট আরম্ভের কোড অবসর পারবেন না।

এখন, মিংডাব্লু.একে নিম্নলিখিত কোডগুলি অন্তর্ভুক্ত করেছে:

/* calculate HOME if not set */
if (!getenv("HOME")) {
    /*
     * try $HOMEDRIVE$HOMEPATH - the home share may be a network
     * location, thus also check if the path exists (i.e. is not
     * disconnected)
     */
    if ((tmp = getenv("HOMEDRIVE"))) {
        struct strbuf buf = STRBUF_INIT;
        strbuf_addstr(&buf, tmp);
        if ((tmp = getenv("HOMEPATH"))) {
            strbuf_addstr(&buf, tmp);
            if (is_directory(buf.buf))
                setenv("HOME", buf.buf, 1);
            else
                tmp = NULL; /* use $USERPROFILE */
        }
        strbuf_release(&buf);
    }
    /* use $USERPROFILE if the home share is not available */
    if (!tmp && (tmp = getenv("USERPROFILE")))
        setenv("HOME", tmp, 1);
}

0

আমি ঠিক একই সমস্যার মুখোমুখি হয়েছি। আমার হোম ড্রাইভটি একটি নেটওয়ার্ক ড্রাইভে ম্যাপযুক্ত। এছাড়াও

  1. হোম ড্রাইভে কোনও লেখার অ্যাক্সেস নেই
  2. গিট ব্যাশ প্রোফাইলে কোনও লেখার অ্যাক্সেস নেই
  3. নিয়ন্ত্রণ প্যানেল থেকে পরিবেশের ভেরিয়েবল পরিবর্তন করার কোনও প্রশাসকের অধিকার নেই।

তবে নীচে কমান্ড লাইন থেকে কাজ করেছি এবং আমি HOMEপরিবেশের ভেরিয়েবলগুলিতে যুক্ত করতে সক্ষম হয়েছি ।

rundll32 sysdm.cpl,EditEnvironmentVariables


পরিবেশের পরিবর্তনশীল সম্পাদকটি অ্যাক্সেস করার জন্য এটি কেবল একটি কনসোল শর্টকাট
রাউল সালিনাস-মন্টেইগুডো

-1

আমি জানি এটি একটি পুরানো প্রশ্ন, তবে এটি "গিটব্যাশ হোমডির উইন্ডোজ" এর জন্য শীর্ষস্থানীয় গুগল ফলাফল, সুতরাং আমি আমার অনুসন্ধানগুলি যুক্ত করব ured

আমি যা চেষ্টা করেছি তা বিবেচনা করেই আমি গিট-ব্যাশ আর কোথাও শুরু করতে পারি নি আমার নেটওয়ার্ক ড্রাইভ, (ইউ :) আমার ক্ষেত্রে প্রতিটি ক্রিয়াকলাপ প্রতিক্রিয়া জানাতে 15-20 সেকেন্ড সময় নেয়। (ভিপিএন-তে প্রত্যন্ত কর্মচারী, দেশের অন্য প্রান্তে হোস্ট করা নেটওয়ার্ক ড্রাইভ)

আমি উইন্ডোতে হোম এবং হোমডির ভেরিয়েবলগুলি সেট করার চেষ্টা করেছি।

আমি গিট ইনস্টলেশন'setc / প্রোফাইল ফাইলে হোম এবং হোমিডির ভেরিয়েবলগুলি সেট করার চেষ্টা করেছি।

গিট-ব্যাশ শর্টকাটে সি: / ব্যবহারকারী / মাইজারনেম হতে "স্টার্ট ইন" সম্পাদনা করার চেষ্টা করেছি।

গিট-ব্যাশ শেলের ভিতরে "env" কমান্ডটি সঠিক সি: / ব্যবহারকারী / মাইজারনেম প্রদর্শন করবে। তবে গিট-ব্যাশ ইউতে শুরু হবে:

চূড়ান্তভাবে এটি আমার জন্য যা ঠিক করেছিল তা হ'ল গিট-ব্যাশ শর্টকাট সম্পাদনা করা এবং লক্ষ্য রেখা থেকে "--cd-to-home" মুছে ফেলা।

আমি উইন্ডোজ 10-এ উইন্ডোজ ২.২২.০-এর জন্য গিট-এর সর্বশেষ সংস্করণটি চালাচ্ছি।


1
হাই গ্রিসিপকা - এসওতে আপনার প্রথম অবদানের জন্য আপনাকে ধন্যবাদ। আপনার উত্তরটি পড়তে (আমি এটি পর্যালোচনা করছি) কী কী লাফিয়ে যায় তা হ'ল এটি এতটা উত্তর নয় তেমনি আপনি যা চেষ্টা করেছেন তা কার্যকর হয়নি তার বিবরণও নয়;)। অন্যান্য ব্যবহারকারীদের উত্তর খুঁজতে এবং এই প্রশ্নটি সন্ধান করার জন্য কল্পনা করুন - তারপরে তারা কীভাবে সমস্যাটি ঠিক করবেন সে সম্পর্কে তাদের কাছে (গৃহীত) উত্তরটি আশা / চাইবেন। একটি ভাল উত্তর এটি মাথায় রেখে লেখা হয়। আপনি কি নিজের উত্তরটি সম্পাদনা করতে এবং এটি আরও খাটো করতে পারেন? ধন্যবাদ।
কার্লো উড

"স্বীকৃত" কোনও উত্তরই আমার পক্ষে কাজ করেনি। আমি কি পোস্ট। যদি তা সহায়ক না হয় তবে নির্দ্বিধায় আমার উত্তরটি সরিয়ে ফেলুন।
grsiepka

-6

আপনি এখানে যান: আপনি এখানে যান: একটি সিস্টেম পুনরুদ্ধার পয়েন্ট তৈরি করুন। প্রশাসক অ্যাকাউন্টের অধীনে লগ ইন করুন। ফোল্ডারটি মুছে ফেলুন সি: \ সামিউসার। ফ: ফোল্ডারটি সি: \ ব্যবহারকারীগণ \ সামুউসারকে সরিয়ে নিন যাতে এটি সি হয়: \ সামিউসার। রেজিস্ট্রি এডিটর খুলুন। এইচকেএলএম \ সফ্টওয়্যার \ মাইক্রোসফ্ট \ উইন্ডোজ এনটি \ কারেন্ট ভার্সন \ প্রোফাইললিস্টে নেভিগেট করুন। সি: \ ব্যবহারকারীরা \ সামুউসারে ব্যবহারকারীকে নির্দেশ করে এমন একটি না পাওয়া পর্যন্ত "প্রোফাইলআইমেজপথ" অনুসন্ধান করুন। এটিকে সংশোধন করুন যাতে এটি সি: \ সামিউসার ser জিনিসগুলি ভুল হয়ে যাওয়ার ক্ষেত্রে সিস্টেম পুনরুদ্ধার ব্যবহার করুন।


4
এটি তার উইন্ডোজ ব্যবহারকারীর প্রোফাইল সরিয়ে ফেলবে। আমার মনে হয় না সেটাই চায়।
ডেভিড ফেরেনসি রোগান

1
এবং খুব সম্ভবত, কোনও কর্পোরেট সেটআপের অধীনে, তার পক্ষে এটির অনুমতি নাও থাকতে পারে।
মেনাচেম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.