উত্তর:
আপনি যদি একটি নির্দিষ্ট শাখার জন্য সমস্ত ফাইল তালিকাবদ্ধ করতে চান তবে master
:
গিট এলএস-ট্রি -আর মাস্টার - নামমাত্র
-r
বিকল্প এটা সাবডিরেক্টরি মধ্যে recurse এবং সংস্করণ নিয়ন্ত্রণাধীন প্রতিটি ফাইল প্রিন্ট দেওয়া হবে। আপনি যে কোনও শাখায় থাকতে পারেন তার জন্য তালিকা পাওয়ার HEAD
পরিবর্তে আপনি নির্দিষ্ট করতে পারেন master
।
আপনি যদি এখনও উপস্থিত সমস্ত ফাইলের একটি তালিকা পেতে চান তবে এখানে দেখুন :
গিট লগ - ব্যাখ্যা = ফর্ম্যাট: - নাম-কেবল --ডিফ-ফিল্টার = এ | সাজান -u
git ls-tree -r master --name-only
প্রয়োজন ছাড়াই প্রথম বিকল্প হিসাবে একই কাজ করবে cut
। আহ, এবং আপনি বর্তমানে যে শাখায় আছেন তার জন্য আপনি কেবল এই তালিকাটি চান কিনা HEAD
তার পরিবর্তে আপনি নির্দিষ্ট করতে পারেন master
।
-
? এটি দ্বিতীয় কলামে কিছু ফাইল দেখানোর জন্য কিছু অতিরিক্ত লাইন তৈরি করে যা প্রথম থেকে পুনরাবৃত্তি হয়।
git ls-files
কমান্ড আপনাকে কি কি প্রয়োজন হবে।
সূত্র: http://www.kernel.org/pub/software/scm/git/docs/git-ls-files.html
git ls-files
পরিবর্তে git ls-tree -r master --name-only
অবশ্যই সহজ।
git-ls-files
বাইনারি নেই। কমান্ড git
সহ বাইনারি আছে ls-files
। ডকুমেন্টেশনের লিঙ্কটি সামগ্রীটিতে সঠিক, তবে প্রযুক্তিগতভাবে পুরানো বাইনারিটির জন্য।
git-commit
, git-init
, git-ls-files
, ইত্যাদি যদিও প্রোগ্রাম আসলে subcommands হয়। git-ls-files
সম্ভবত একটি বাইনারি ছিল না , সম্ভবত। যুক্তিটি হ'ল এটি বাহ্যিক সাবকম্যান্ড প্রক্রিয়াটির সাথে সামঞ্জস্যপূর্ণ, যা আপনাকে বাইনারি git foo
লিখে কোনও কমান্ড রেজিস্টার করতে দেয় git-foo
।
git ls-files
কেবলমাত্র বর্তমান ওয়ার্কিং ডিরেক্টরিতে ফাইল মুদ্রণ করবে।
উদাহরণস্বরূপ, যদি আপনার ডটফিলস ( core.worktree = /
) এর জন্য গিট রেপো থাকে , তবে আপনার গিট রুটের বাইরে ফাইল থাকবে এবং সেই সরল কমান্ডটি আর কাজ করবে না।
সংক্ষেপে, এটি কাজ করবে:
git --git-dir "`git rev-parse --git-dir`" \
-C "`git config core.worktree || pwd`" \
ls-files
উদাহরণ:
mkdir ~/dotfiles
cd ~/dotfiles
git config core.worktree /
# Ignore all files by default, else Git will find all files under "/"
echo "*" > .git/info/exclude
# Add files at the git repo's root and somewhere in the work tree
touch README
git add -f README
git add -f /etc/ssh/sshd_config
# `git status` would now print:
# new file: ../../../etc/ssh/sshd_config
# new file: README
git status
git commit -m "Initial commit"
# At this point, `git ls-files` prints only:
# README
git ls-files
# But you can print all files inside the work tree. This will print:
# etc/ssh/sshd_config
# home/yourusername/dotfiles/README
git --git-dir "`git rev-parse --git-dir`" -C "`git config core.worktree || pwd`" ls-files
আপনার নির্দিষ্ট করা পাথ চান আপেক্ষিক আপনার বর্তমান (শেল) নির্দেশিকাতে, এই পেশা আছে:
alias gls='git ls-tree -r master --name-only HEAD "`git config core.worktree`"'
এবং উপরের উদাহরণে এটি মুদ্রণ করবে
README
../../../etc/ssh/sshd_config
git ls-files
সমস্ত বর্তমান ডিরেক্টরিতে এবং নীচে দেখায়। এটি কেবল রেপোতে মুছে ফেলা ফাইলগুলি দেখায় না।
আপনি gitk
ইন্টারেক্টিভ সংগ্রহস্থল দর্শকও ব্যবহার করতে পারেন ।
দয়া করে চিত্রটি দেখুন, ডানদিকে দুটি বিকল্প প্যাচ এবং গাছ রয়েছে। আপনি যদি ট্রি নির্বাচন করেন তবে প্রতিটি কমিটের জন্য আপনি ফোল্ডার কাঠামো দেখতে পারবেন।