Як змінити розташування за замовчуванням для Git Bash для Windows?


218

Я використовую Git в Windows 7 і отримую доступ до своїх сховищ через Git Bash. Як я можу змінити розташування за замовчуванням, яке відкриває Git Bash у зручній папці, коли я його запускаю?

Навігація до htdocsпевної папки, а потім певної папки, займає багато часу . Чи є спосіб змінити файл конфігурації, щоб він відкрився в іншому місці? Або можна було б написати .shфайл для цього?

На жаль, Git Bash не відкриє htdocsярлик моєї папки на робочому столі, і cdдля отримання потрібного каталогу потрібно 5 разів.


Відповіді:


212

Після встановлення msysgit у мене Git Bash hereв розділі "Провідник Windows" з'явилася опція. Тому я просто переходжу до каталогу, а потім відкриваю Bash прямо там.

Я також скопіював Git Bashярлик за замовчуванням на робочий стіл і відредагував його Start inвластивість, щоб вказати на мій каталог проектів. Це працює бездоганно.

Windows 7x64, msysgit.


14
Я думаю, що саме ця Start inчастина його найбільше цікавить - якщо ви використовуєте оболонку Windows ( cmd.exe), ви також можете ввімкнути QuickEdit modeчерез ті ж діалогові вікна властивостей, щоб зробити копіювання / вставити трохи простіше і встановити розмір вікна / буфер / властивості шрифту і таке ...
johnny

2
У мене немає такого Git Bash Hereваріанту. Як я це роблю тоді?
ptamzz

56
Щоб дістатися до Git Bash«s Start inнерухомості, клацніть правою кнопкою миші Git грітися ярлик і натисніть" Властивості ". Потім знайдіть і вставте в Start inполе шлях, з якого ви хотіли б почати. ​​Це буде виглядати приблизно так:C:\Users\DM\Desktop\YourFolder
Mikeumus

34
Право cd-to-homeперекреслило мою start inцінність. все відсортовано зараз.
JayPex

3
Для Start inзначення я використовую, %USERPROFILE%/Gitде Gitзнаходиться каталог у моєму домашньому каталозі, наприкладC:\users\rami\Git
Рамі Аллуш,

197

Найпростіший спосіб без установки msysgit - це клацання правою кнопкою миші на піктограмі ярлика Git Bash → Почати в: → "C: \ Program Files (x86)".

Змініть запис " Пуск " і вкажіть початкове положення Git Bash. Якщо ви не видалите --cd-to-homeчастину з поля "Ціль", "Почати в зміні" буде відмінено.


4
Я виявив, що ваше рішення і рішення Марцина були однаковими, але для мене ваші вказівки були більш точними і суттєвими. Дякую!
Eric Hepperle - CodeSlayer2010

39
Дякуємо за пораду щодо видалення --cd-to-homeаргументу.
chrisjleu

3
@ShirishHerwade Мені довелося відкріпити панель завдань і знову зафіксувати її, щоб вона працювала.
henrikmerlander

1
Все-таки найкорисніше рішення у 2020 році
Джон Таргарієн

"Змініть початок у записі та вкажіть початкове положення Git Bash." Що це означає? Чи може хтось надати приклад значення для використання?
Боб Хорн

129

Додайте цей рядок у свій .bashrcфайл:

cd C:/xampp/htdocs/<name of your project>;

Якщо файлу .bashrc не існує, створіть його у вашій кореневій папці. Для мене це:C:\Users\tapas\

Збережіть .bashrc та відкрийте Git Bash. Це воно!


15
Це правильна відповідь! А якщо .bashrcйого там не було, просто створіть його ~(cd ~ && touch .bashrc)
Джад Джубран

3
Я знайшов bash.bashrcу Git\etcпапці
Гонділ

10
Я вважав це рішення гарним, але воно не добре підходить для користувацьких ярликів або Git Bash hereпараметрів, описаних іншими відповідями. Я вирішив це, додавши умовний, щоб він працював лише в домашній папці. if [[ $(pwd) = $HOME ]]; then cd <location> fi
Форсс

1
Дякуємо @Forss! Ця обгортка - шалено гарна ідея. Не забудьте крапку з комою після розташування!
Тревіс Ватсон

2
Примітка. Можливо, вам потрібно буде використовувати vi в самому Git Bash для створення файлу, Windows дратується, що я намагався перейменувати файл без "імені", а лише "розширення"
romeara

20

Відкрийте властивості bash та змініть на "Почати в", куди ви хочете почати. ​​Після цього (у мене була ця проблема, і я це вирішив) перейдіть до націлювання та видаліть --cd-to-home частина параметра після "C: \ Program Files \ Git \ git-bash.exe". Тільки ТОГО ви запустите в вказаний вами каталог "Почати в".


4
Володимир, видалення частини параметра --cd-to-home після "C: \ Program Files \ Git \ git-gh-bash.exe" - важлива деталь. Дякую.
vlmercado

18

Я десь її читав, і це працювало на мене.

Спочатку перевірте в git bash, що таке HOME. Відкрийте git bash і біжіть

echo $HOME

Тепер змініть шлях ДОМАШНЯ, відкривши cmd та запустіть

setx HOME "path/to/.ssh/loc" (I gave C:\Users\aXXXX)

Тепер перевірте перевірку, виконавши команду echo в git bash.


1
Я думаю, що це дуже хороша відповідь, особливо якщо у вашої компанії є домашній каталог з мережею, який ви не хочете використовувати (тобто з міркувань продуктивності)
Merijn Vogel,

чи зміна цього шляху HOME вплине лише на git bash або загальну системну командну строку?
siluveru kiran kumar

Відмінне рішення, виправлено сильну повільність у мене з Git Bash з моїм P: приводом на повільний віддалений диск через VPN. Однак мені здається дивним, як я можу використовувати це рішення для, HOMEале не для, HOMEDRIVEі HOMEPATH- я не можу змінити місця cmdзапуску цього рішення. Але неважливо, Git Bash - це те, на що це вплинуло, і він знову працює нормально.
joanis

Зауважте, що це рішення також змінюється там, де Git Bash шукає ваші dotfiles, які вирішили мою проблему, але, можливо, не будуть правильним рішенням для інших ситуацій, і, ймовірно, не були б такими, якими хотіла ОП.
joanis

13

Якщо ви схожі на мене, а шлях до Git - це windows key+ G+ I+ Enter, ви можете просто натиснути на windows key, шукати Git, клацнути правою кнопкою миші на отриманій Git Bashпіктограмі, вибрати властивості та змінити Start in:поле.

Я не точно впевнений, що це робить, тому що я не зовсім впевнений, що таке Git для Windows (фасад поверх sh, який сам є фасадом на cmd?), Але в будь-якому випадку, тепер ви можете зафіксувати ярлик що Windows піднімає пошук "Git" на панелі завдань або на робочий стіл, і він все одно запускатиметься в будь-якому каталозі, для якого ви його встановили.


2
Отже, це не спрацювало. Я забув оновити закріплений ярлик на панелі завдань. Ваш "зараз штифт (...)" задзвонив у дзвін :)
Jelmer

8

Тестоване рішення для Windows 10

  • Введіть git bash у пошуку

  • Клацніть правою кнопкою миші на ньому та виберіть відкрите розташування файлу

  • Клацніть правою кнопкою миші та виберіть властивості

  • У цілі видалити --cd-to-home з "C: \ Program Files \ Git \ git-bash.exe" --cd-to-home

  • На початку пустіть шлях до каталогу, який ви хочете, щоб він починався, наприклад, Start: C: \ xampp \ htdocs


Я це зробив, але все одно, як і попереднє, чи буде це працювати, якщо в локальному диску D: \ будь-яка інформація була запущена.
siluveru kiran kumar

7

Я використовую Git bash в Windows 10, ось моє рішення:

  1. Закрийте всі сеанси git bash
  2. Натисніть клавішу Windows і введіть env:; потім натисніть Edit environment variables for your account(панель управління)
  3. У розділі "Змінні користувача для ...."; натискання Newкнопки
  4. Назва змінної: ДОМАШНЯ
  5. Змінне значення: шлях, де ви хотіли б ~/бути в git bash

Відкрийте сеанс git bash і протестуйте його, набравши: pwdі подвійну перевірку виконавшиcd ~/ && pwd


Деякі версії Git використовують HOMEPATH замість HOME. Якщо ви перевірите початок у папці для Git Bash, ви можете побачити, яка змінна середовища використовується.
Метт Боннесс


6

Клацніть правою кнопкою миші Git Bash shortcutта перейдіть до properties.
У опції propertiesвнутрішнє start inдодайте розташування каталогу, в якому ви хочете почати, Git Bashта applyзміни.


6

Git bash використовується для гри з командами bash. Тому я використовую сам метод bash у WindowsGit bash

Відредагуйте свій .bash_profile(створіть його, якщо у вас його немає - див. Нижче, як його створити). Введіть наступні рядки.

Додайте ці рядки до файлу

alias ws="cd /d/workspace/"
ws

Мій .bash_profile виглядає приблизно так

Smilyface@SmilingMachine /d/workspace
$ cat ~/.bash_profile
alias ws="cd /d/workspace/"
ws

Як створити новий .bash_profile?

touch ~/.bash_profile

АБО запишіть у файл безпосередньо

vi ~/.bash_profile 

Просто, ага!


3
точний і зрозумілий, звичайно, файл ~ / .bashrc теж буде добре.
Мінні

5

Зробіть ярлик Git Bash на робочий стіл для зручності, а потім клацніть правою кнопкою миші на значку переходу до значка. Тут ви знайдете розділ Початок в: з текстовим полем. Замініть потрібний шлях, наприклад:

%USERPROFILE%\Desktop

Потім відкрийте його безпосередньо, натиснувши на іконку. Ви отримаєте за замовчуванням шлях на робочому столі в Git Bash.


3
Ах! Також мені потрібно було зняти --cd-to-homeваріант.
Андрій Михайлов - lolmaus

3

Мені сподобалась відповідь Пітера Мортенсона, але я хотів би розширитись.

'cd ~' у файлі .bashrc призводить до припинення роботи функції "Git Bash Here" Git Bash. Натомість додайте це, якщо заява у файл .bashrc:

if [ "$PWD" == '/' ]
then
        cd ~
fi

Це зміниться в домашній каталог, коли Git Bash запускається самостійно, але коли запущено "Git Bash Here", поточний робочий каталог не буде змінено.


2

Просто введіть шлях вашого локального каталогу (домашній каталог проекту Git) у властивості Git Bash. Тобто встановити шлях C: \ yourprojsctdirectory до поля властивостей Git Bash "Execute In" або (Ausführen in). Це воно!

Тепер двічі клацніть Git Bash. Заголовок Git міститиметься у вашій "своїйпройсктдиректорії".


2

Перелічені робочі рішення є чудовими, але проблема виникає, коли для вашого git-bash ви хочете кілька будинків за замовчуванням .

Просте вирішення - запустити git-bash за допомогою сценарію bat .

git-bash-to-htdocs.bat

cd C:\xampp\htdocs
"C:\Program Files\Git\git-bash.exe" 

Вище, звичайно, припускаємо, що git-bash встановлений на C:\Program Files\Git\git-bash.exe

Ви можете створити декілька .batфайлів, щоб ваш git-bash міг почати там, де він хоче



1

Я спробував наступне; це мені допомогло. Я сподіваюся, що це теж допоможе вам.

cd /c/xampp/your-project

@MuhammadSohailiqbal - питання в тому, як встановити його за замовчуванням. Так що коли він відкриває Git Bash, він повинен безпосередньо перейти до цього каталогу.
smilyface
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.