আপনি কীভাবে একটি নির্দিষ্ট ফোল্ডারে গিট সংগ্রহস্থলটিকে ক্লোন করবেন?


2241

কমান্ডটি কার্যকর git clone git@github.com:whateverকরা আমার বর্তমান ফোল্ডারে নামের একটি ডিরেক্টরি তৈরি করে whateverএবং গিট সংগ্রহস্থলের সামগ্রীগুলি সেই ফোল্ডারে ফেলে দেয়:

/httpdocs/whatever/public

আমার সমস্যাটি হ'ল আমার বর্তমান ডিরেক্টরিতে গিট সংগ্রহস্থলের সামগ্রীগুলি ক্লোন করা প্রয়োজন যাতে তারা ওয়েব সার্ভারের জন্য উপযুক্ত স্থানে উপস্থিত হয়:

/httpdocs/public

আমি সংগ্রহস্থলটি ক্লোন করার পরে কীভাবে ফাইলগুলি স্থানান্তর করতে পারি তা আমি জানি তবে এটি গিটকে ভেঙে ফেলবে বলে মনে হচ্ছে এবং আমি কেবল কল করেই আপডেট করতে সক্ষম হতে চাই git pull। কিভাবে আমি এটি করতে পারব?


3
উইন্ডোজে আপনি ফোল্ডার থেকে ফাইলগুলি সরাতে পারেন যেখানে আপনি রেপো ক্লোন করবেন [যদি সেখানে থাকে] তাই আপনি গিট ক্লোন করলে তা খালি থাকে । ক্লোনিংয়ের পরে আপনার ফাইলগুলি [ctrl-z] এবং হুয়ালাকে আবার সরিয়ে দিন ! যদি বর্তমান ফোল্ডারটি খালি থাকে তবে কেবল ব্যবহার করুন: গিট ক্লোন গিটুরল

43
ভয়েলা হ'ল বানান
ম্যাথিয়াস

80
@MatthiasDailey ভিওলা হয় প্রকৃত বানান
silkfire

6
এট ভয়েইল এট ভয়েইল ফ্রেঞ্চ
ফ্যাটি

উত্তর:


3217

বিকল্প একটি:

git clone git@github.com:whatever folder-name

right hereব্যবহারের জন্য ,

git clone git@github.com:whatever .

বিকল্প বি:

.gitফোল্ডারটিও সরান । নোট করুন যে .gitফোল্ডারটি বেশিরভাগ গ্রাফিকাল ফাইল এক্সপ্লোরারগুলিতে লুকানো থাকে তাই লুকানো ফাইলগুলি দেখানোর বিষয়ে নিশ্চিত হন।

mv /where/it/is/right/now/* /where/I/want/it/
mv /where/it/is/right/now/.* /where/I/want/it/

প্রথম লাইনটি সমস্ত সাধারণ ফাইল ধরে, দ্বিতীয় লাইনে ডট-ফাইলগুলি ধরে। এটি ডটগ্লোব (অর্থাত্ shopt -s dotglob) সক্ষম করে এক লাইনে করাও সম্ভব তবে আপনি যদি এই উত্তরটির উত্তরটি জিজ্ঞাসা করে থাকেন তবে এটি সম্ভবত একটি খারাপ সমাধান।

এখনো ভাল:

আপনার কাজের অনুলিপি অন্য কোথাও রাখুন এবং একটি প্রতীকী লিঙ্ক তৈরি করুন। এটার মত:

ln -s /where/it/is/right/now /the/path/I/want/to/use

আপনার ক্ষেত্রে এটি এমন কিছু হবে:

ln -sfn /opt/projectA/prod/public /httpdocs/public

যা আপনি চাইলে সহজেই পরীক্ষায় পরিবর্তন করা যেতে পারে, যেমন:

ln -sfn /opt/projectA/test/public /httpdocs/public

কাছাকাছি ফাইল সরানো ছাড়া। -fnযদি কেউ এই লাইনগুলি অনুলিপি করছেন তবে যোগ করা হয়েছে ( -fবলপূর্বক, -nইতিমধ্যে এবং অ-বিদ্যমান লিঙ্কগুলির সাথে প্রায়শই কিছু অযাচিত কথোপকথন এড়িয়ে যান)।

আপনি যদি এটির কাজটি করতে চান তবে অপশন এ ব্যবহার করুন, অন্য কেউ যদি আপনার কাজটি দেখে যাচ্ছেন তবে অপশন সি ব্যবহার করুন


8
আমি আপনার 'আরও ভাল' বিকল্পটি ভাবিনি, এবং কেন তা নিশ্চিত তা না হলেও আমি এটি পছন্দ করি। এর সুবিধা কী?
ডেভিড স্মিথ

6
এটি এখনই সম্ভবত কোনও সুবিধা সরবরাহ করে না, তবে আপনি যদি কোনও দিন জিনিসপত্র সরানোর সিদ্ধান্ত নেন তবে এটি আপনাকে অনেক ঝামেলা বাঁচাতে পারে।
14-15 টা এ বার্ক গ্যাডার

12
এছাড়াও আপনি "আরও ভাল" বিকল্পের সাহায্যে দ্রুত প্রকাশের মধ্যে স্যুইচ করতে পারেন। এটি সার্ভারগুলির জন্য বিশেষভাবে কার্যকর এবং ব্যবহৃত হয়।
হালিল Özgür

4
@ মেমি আমার মনে হয় তার মানে .git- এর সাথে একটি প্রতীকী লিঙ্ক তৈরি করাln -s path/to/.git path/to/working/directory
আলেকজান্ডার

27
এর সুফল কি কেউ ব্যাখ্যা করতে পারবেন ?? আমি আজ কিছুটা ঘন হয়ে যাচ্ছি। কীভাবে একটি সিমলিংক উপকার সার্ভার ব্যবহার করে?
ট্রিপল

586

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

git clone git@github.com:whatever .

দ্য "." শেষে চেকআউট ফোল্ডার হিসাবে বর্তমান ফোল্ডারটি নির্দিষ্ট করে।


28
সত্য, সুতরাং আপনি ক্লোনিংয়ের আগে এই ফোল্ডারে "গিট ইনি" চালাতে চান না। তবে আপনি যদি তা করেন তবে ক্লোনিংয়ের আগে .git ফোল্ডারটি সরিয়ে ফেলা কৌশলটি করবে।
ম্যাগনে

3
আমার উত্তরে খালি ডিরেক্টরিগুলির জন্য ঠিক করা হয়েছে
csomakk

1
এই কাজ nitrous.io মধ্যে পেতে পারি না? খালি করার পরেও, এটি ডিরেক্টরি খালি নয় বলে জানিয়েছে
তেজস মনোহর

@ টেজাসমানোহর নিশ্চিত করুন যে আপনিও লুকানো ফাইলগুলি মুছে ফেলেছেন।
ব্রিটিক

ls -aগোপন ফাইল সহ সমস্ত ফাইল প্রদর্শন করবে।
মাইকেল ডারস্ট

215

ফোল্ডারে যান .. যদি ফোল্ডারটি খালি থাকে তবে:

git clone git@github.com:whatever .

আর

git init
git remote add origin PATH/TO/REPO
git fetch
git checkout -t origin/master

9
প্রকৃতপক্ষে এটি আমার পক্ষে সবচেয়ে দরকারী উত্তর যখন আমার যখন সবেমাত্র তৈরি করা প্রকল্পটিকে সদ্য নির্মিত সংগ্রহস্থলটিতে ঠেলে দেওয়ার দরকার ছিল। যশ!
wirher

13
কেবলমাত্র উত্তর যা খালি খালি ফোল্ডারে চেকআউট করবেন তা নির্দিষ্ট করে, আপনাকে ধন্যবাদ।
প্রেস্টন বাদির

2
এটি সত্যিই সহায়ক কারণ গিট চেকআউটটিরswitch -t ডকুমেন্টেশনে অন স্পষ্টভাবে প্রদর্শিত হয়নি ।
চিতাবাহন

4
-টি সুইচ কি করে? আমি অচিহ্নযুক্ত ফাইলগুলির একটি তালিকা সহ একটি গর্ভপাত বার্তা পাচ্ছি যা চেকআউট দ্বারা ওভাররাইট করা হবে? এই পরিস্থিতিতে কি করবেন? আমি চাই না যে এই ফাইলগুলি ওভাররাইট করা হোক?
মোমিন জাহিদ

2
গিট থেকে -t ডকুমেন্টেশন: -t, --track একটি নতুন শাখা তৈরি করার সময় "আপস্ট্রিম" কনফিগারেশন সেট আপ করুন। বিশদটির জন্য গিট-শাখায় "ট্র্যাক" (1) দেখুন)
csomakk

87

বেসিক গিট সংগ্রহস্থল ক্লোনিং oning

আপনি একটি সংগ্রহস্থল ক্লোন করেছেন

git clone [url]

উদাহরণস্বরূপ, আপনি যদি স্ট্যানফোর্ড বিশ্ববিদ্যালয় ড্রুপাল ওপেন ফ্রেমওয়ার্ক গিট লাইব্রেরিকে ওপেন-ফ্রেমওয়ার্ক বলে ক্লোন করতে চান তবে আপনি এটি এর মতো করতে পারেন:

$ git clone git://github.com/SU-SWS/open_framework.git

এটি ওপেন-ফ্রেমওয়ার্ক (আপনার বর্তমান স্থানীয় ফাইল সিস্টেমের অবস্থানের নাম) নামে একটি ডিরেক্টরি তৈরি করে, এর ভিতরে একটি .git ডিরেক্টরি সূচনা করে, সেই সংগ্রহস্থলের সমস্ত ডেটা টেনে নামায় এবং সর্বশেষ সংস্করণটির একটি কার্যকরী অনুলিপি পরীক্ষা করে। আপনি যদি সদ্য নির্মিত ওপেন-ফ্রেমওয়ার্ক ডিরেক্টরিতে যান তবে আপনি সেখানে প্রকল্পের ফাইলগুলি দেখতে পাবেন, এতে কাজ বা ব্যবহারের জন্য প্রস্তুত।

একটি নির্দিষ্ট স্থানীয় ফোল্ডারে একটি সংগ্রহস্থল ক্লোনিং

আপনি যদি ওপেন-ফ্রেমওয়ার্ক ছাড়া অন্য কিছু নামে একটি ডিরেক্টরিতে সংগ্রহস্থলটিকে ক্লোন করতে চান তবে আপনি পরবর্তী কমান্ড-লাইন বিকল্প হিসাবে এটি নির্দিষ্ট করতে পারেন:

$ git clone git:github.com/SU-SWS/open_framework.git mynewtheme

এই কমান্ডটি আগেরটির মতো একই কাজ করে তবে লক্ষ্য ডিরেক্টরিটি মাইনেউথেমিকে বলে।

গিটটিতে আপনি ব্যবহার করতে পারেন এমন অনেকগুলি ট্রান্সফার প্রোটোকল রয়েছে। পূর্ববর্তী উদাহরণটি গিট: // প্রোটোকল ব্যবহার করে তবে আপনি http (গুলি): // অথবা ব্যবহারকারী @ সার্ভার: /path.gitও দেখতে পাবেন যা SSH স্থানান্তর প্রোটোকল ব্যবহার করে uses


এটি স্বয়ংক্রিয়ভাবে আপনার বর্তমান ফোল্ডারে একটি ফোল্ডার তৈরি করবে এবং ফাইলগুলিকে সেখানে রাখবে। সুতরাং, আপনার অন্য কোনও ফোল্ডার ওভাররাইট করা সম্পর্কে চিন্তা করার দরকার নেই।
আরন-আরন ২:0

23

একটি নির্দিষ্ট ফোল্ডারে গিট সংগ্রহস্থল ক্লোন করতে, আপনি -C <path>প্যারামিটার ব্যবহার করতে পারেন , যেমন

git -C /httpdocs clone git@github.com:whatever

যদিও এটি এখনও এটির whateverশীর্ষে একটি ফোল্ডার তৈরি করবে, সুতরাং বর্তমান ডিরেক্টরিতে সংগ্রহস্থলের সামগ্রীটি ক্লোন করতে, নিম্নলিখিত বাক্য গঠনটি ব্যবহার করুন:

cd /httpdocs
git clone git@github.com:whatever .

মনে রাখবেন যে বিদ্যমান ডিরেক্টরিতে ক্লোনিং কেবলমাত্র ডিরেক্টরি খালি থাকলেই অনুমোদিত

যেহেতু আপনি এমন ফোল্ডারে ক্লোনিং করছেন যা জনসাধারণের জন্য অ্যাক্সেসযোগ্য তা আপনার ওয়েব ট্রিভার কনফিগারেশনে ফোল্ডার (উদাহরণস্বরূপ ফাইলে) ব্যবহার করে --separate-git-dir=<git dir>বা আপনার কাজ গাছ থেকে আপনার গিট সংগ্রহস্থলকে আলাদা করে বিবেচনা করুন।.git.htaccess


17

উপস্থাপন কার্যকারী ডিরেক্টরিতে ক্লোন করতে :

git clone https://github.com/link.git

অন্য ডিরেক্টরিতে ক্লোন করতে :

git clone https://github.com/link.git ./Folder1/Folder2

আশা করি এটা সাহায্য করবে :)


এটি আমার জন্যও কাজ করেছিল। ./ফোল্ডারে পাথের শুরুতে নয়
অ্যালন গোল্ডম্যান

13

আপনি যখন ফাইলগুলি যেখানে চান সেখানে নিয়ে যান, আপনি কি ডিরেক্টরিটি সরান .git? আপনার ওএস এবং কনফিগারেশনের উপর নির্ভর করে এই ডিরেক্টরিটি লুকিয়ে থাকতে পারে।

এটিতে রেপো এবং সমর্থনকারী ফাইল রয়েছে, যখন আপনার /publicডিরেক্টরিতে থাকা প্রকল্প ফাইলগুলি বর্তমানে চেক-আউট কমিটির সংস্করণ (ডিফল্টরূপে মাস্টার ব্রাঞ্চ)।


13

ক্লোন:

git clone git@jittre.unfuddle.com:jittre/name.git

"নির্দিষ্ট শাখা" ক্লোন করুন:

git clone -b [branch-name] git@jittre.unfuddle.com:jittre/name.git

13

আপনি যদি বর্তমান ফোল্ডারে ক্লোন করতে চান তবে আপনার এটি চেষ্টা করা উচিত:

git clone https://github.com/example/example.git ./

8
মারাত্মক: গন্তব্য পথ '। ইতিমধ্যে বিদ্যমান এবং এটি একটি খালি ডিরেক্টরি নয়।
ক্লিটন

11

ব্যবহার

git clone <repository>

স্থানীয় মেশিনে <repository> এ থাকা সংগ্রহস্থলটি ক্লোন করুন। মূল সংগ্রহস্থলটি স্থানীয় ফাইল সিস্টেমে বা এইচটিটিপি বা এসএসএইচের মাধ্যমে অ্যাক্সেসযোগ্য একটি রিমোট মেশিনে অবস্থিত হতে পারে।

git clone <repo> <directory>

স্থানীয় মেশিনে <ডিরেক্টরি>> ফোল্ডারে <repository> এ অবস্থিত সংগ্রহস্থলটি ক্লোন করুন।

সূত্র: একটি সংগ্রহস্থল স্থাপন করা


9

আপনি যদি বর্তমান ডিরেক্টরিতে কোনও জিনিস পরীক্ষা করার চেষ্টা করছেন তবে আপনি .git সংগ্রহস্থলটি সরিয়েছেন তা নিশ্চিত করুন।

rm -rf .git তারপর git clone https://github.com/symfony/symfony-sandbox.git


3

আমি এখানে এটি কীভাবে করব তা এখানে রয়েছে তবে এটি করার জন্য আমি একটি উপাধি তৈরি করেছি।

$ cd ~Downloads/git; git clone https:git.foo/poo.git

এটি করার আরও সম্ভবত মার্জিত উপায় আছে তবে আমি এটি নিজের পক্ষে সহজ বলে মনে করেছি।

জিনিসগুলির গতি বাড়ানোর জন্য আমি যে উপন্যাসটি তৈরি করেছি তা এখানে। আমি এটি zsh এর জন্য তৈরি করেছি, তবে এটি বাশ বা অন্য কোনও শেল যেমন মাছ, জাইজ্যাশ, ফিজশ ইত্যাদির জন্য ঠিক কাজ করা উচিত।

আপনার প্রিয় সম্পাদক সহ সম্পাদনা করুন ~/.zshrc, /.bashrcইত্যাদি (আমার লিফপ্যাড, তাই আমি লিখব $ leafpad ~/.zshrc)।

আমার ব্যক্তিগত পছন্দটি অবশ্য আমার সমস্ত এলিয়াসের উপর নজর রাখতে একটি zsh প্লাগইন তৈরি করা। আপনি এই কমান্ডগুলি চালিয়ে ওহ-মাই-জেডএস-এর জন্য একটি ব্যক্তিগত প্লাগইন তৈরি করতে পারেন:

$ cd ~/.oh-my-zsh/
$ cd plugins/
$ mkdir your-aliases-folder-name; cd your-aliases-folder-name
     # In my case '~/.oh-my-zsh/plugins/ev-aliases/ev-aliases'
$ leafpad your-zsh-aliases.plugin.zsh
     # Again, in my case 'ev-aliases.plugin.zsh'

এরপরে, আপনার সদ্য নির্মিত ফাঁকা alises.plugin ফাইলটিতে এই লাইনগুলি যুক্ত করুন:

# Git aliases
alias gc="cd ~/Downloads/git; git clone "

(এখান থেকে, আপনার নামটি আমার সাথে প্রতিস্থাপন করুন))

তারপরে, এলিয়াসগুলি কাজ করার জন্য, তাদের (zsh সহ) সর্স-ইন করতে হবে (বা যা বলা হোক না কেন)। এটি করতে, আপনার কাস্টম প্লাগইন নথির ভিতরে এটি যুক্ত করুন:

## Ev's Aliases

#### Remember to re-source zsh after making any changes with these commands:

#### These commands should also work, assuming ev-aliases have already been sourced before:

allsource="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh; clear"
sourceall="source $ZSH/oh-my-zsh.sh ; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh"
#### 

####################################

# git aliases

alias gc="cd ~/Downloads/git; git clone "
# alias gc="git clone "
# alias gc="cd /your/git/folder/or/whatever; git clone "

####################################

আপনার ওহ-মাই- zsh প্লাগইনটি সংরক্ষণ করুন এবং চালান allsource। যদি এটি কাজ করে না মনে হয়, কেবল চালান source $ZSH/oh-my-zsh.sh; source /home/ev/.oh-my-zsh/plugins/ev-aliases/ev-aliases.plugin.zsh। এটি প্লাগইন উত্স লোড করবে যা আপনাকে allsourceএখন থেকে ব্যবহারের অনুমতি দেবে ।


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


2

আপনি যদি ব্যবহার করে sshথাকেন git cloningতবে নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন।

git -C path clone git@github.com:path_to_repo.git

উদাহরণস্বরূপ: আপনার পথে git -C /home/ubuntu/ clone git@github.com:kennethreitz/requests.gitগিট সংগ্রহস্থল টানতে পারে।requests/home/ubuntu/


2

কোনও কারণে এই বাক্য গঠনটি স্থির নয়:

git clone repo-url [folder]

এখানে ফোল্ডারটি স্থানীয় ফোল্ডারের (যা একটি স্থানীয় সংগ্রহস্থল হবে) alচ্ছিক পথ।

গিট দূরবর্তী সংগ্রহস্থল থেকে স্থানীয় ভাণ্ডারে কোড cloneদেবে pull। আসলে এটি সত্য:

git clone repo-url  =  git init + git remote add origin repo-url + git pull

0

যদিও উপরে বর্ণিত সমস্ত উত্তর ভাল, আমি গ্রহণযোগ্য উত্তরে প্রস্তাবিত সেরা হিসাবে পাবলিক এইচটিএমএল ডিরেক্টরিতে প্রতীকী লিঙ্ক পদ্ধতিটি ব্যবহার না করে একটি নতুন পদ্ধতি প্রস্তাব করতে চাই। আপনার নিজের সার্ভার ভার্চুয়াল হোস্ট কনফিগারেশনের অ্যাক্সেস থাকা দরকার।

এটি আপনার ওয়েব সার্ভারের ভার্চুয়াল হোস্টটি কনফিগার করার বিষয়ে যা সরাসরি সংগ্রহস্থল ডিরেক্টরিতে নির্দেশ করে। অ্যাপাচি তে আপনি এটি করতে পারেন:

ডকুমেন্টরুট / ভার / www / এইচটিএমএল / ওয়েবসাইট / আপনার গিট-রেপো o

ভার্চুয়াল হোস্ট ফাইলের উদাহরণ এখানে:

<VirtualHost *:443>
    ServerName example.com

    DocumentRoot /path/to/your-git-repo
    ...
    ...
    ...
    ...
</VirtualHost>

0

কাস্টম ডিরেক্টরি নামের সাথে ক্লোন করতে আপনি নিম্নলিখিত গিট কমান্ডটি ব্যবহার করতে পারেন

git clone <git_repo_url> <your_custom_directory_name>

দ্রষ্টব্য: আপনার গ্রাহক ডিরেক্টরি তৈরি করার দরকার নেই কারণ এটি স্বয়ংক্রিয়ভাবে তৈরি হবে


-1
For Windows user 

1> Open command prompt.
2> Change the directory to destination folder (Where you want to store your project in local machine.)
3> Now go to project setting online(From where you want to clone)
4> Click on clone, and copy the clone command.
5> Now enter the same on cmd .

It will start cloning saving on the selected folder you given .

-5

মূল পোস্ট থেকে এই লাইনটি সম্পর্কে:

"আমি জানি রেপো ক্লোন করার পরে কীভাবে ফাইলগুলি সরিয়ে নেওয়া যায়, তবে এটি গিট ভেঙে যায় বলে মনে হয়"

আমি এটি করতে সক্ষম হয়েছি এবং আমার যোগ, প্রতিশ্রুতি, ধাক্কা, অপারেশন টানতে কোনও সমস্যা এখনও দেখছি না।

এই পদ্ধতির উপরে বর্ণিত হয়েছে, তবে কেবল ধাপে বিভক্ত নয়। আমার জন্য কার্যকর পদক্ষেপগুলি এখানে:

  1. কোনও তাজা অস্থায়ী ফোল্ডারে রেপো ক্লোন করুন
  2. সেই রুট ফোল্ডারে সিডি আপনি স্থানীয়ভাবে ক্লোন করেছেন
  3. আপনার পছন্দ মতো যে কোনও বিদ্যমান ফোল্ডারে /.git ডিরেক্টরি সহ ফোল্ডারের পুরো বিষয়গুলি অনুলিপি করুন; (একটি গ্রহন প্রকল্প বলুন যা আপনি আপনার রেপোর সাথে একত্রীকরণ করতে চান)

আপনি যে ফোল্ডারটি সবে ফাইলগুলি অনুলিপি করেছেন তা এখন গিটের সাথে ইন্টারেক্ট করার জন্য প্রস্তুত।

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