গিট - সোর্স নিয়ন্ত্রণে থাকা সমস্ত ফাইল তালিকাভুক্ত করবেন?


122

গিটে সোর্স নিয়ন্ত্রণে থাকা সমস্ত ফাইল তালিকাভুক্ত করার কি কোনও উপায় আছে? (কেবলমাত্র যাঁদের সংশোধন করা হয়েছে তা নয়)।

উত্তর:


129

আপনি যদি একটি নির্দিষ্ট শাখার জন্য সমস্ত ফাইল তালিকাবদ্ধ করতে চান তবে master:

গিট এলএস-ট্রি -আর মাস্টার - নামমাত্র

-rবিকল্প এটা সাবডিরেক্টরি মধ্যে recurse এবং সংস্করণ নিয়ন্ত্রণাধীন প্রতিটি ফাইল প্রিন্ট দেওয়া হবে। আপনি যে কোনও শাখায় থাকতে পারেন তার জন্য তালিকা পাওয়ার HEADপরিবর্তে আপনি নির্দিষ্ট করতে পারেন master

আপনি যদি এখনও উপস্থিত সমস্ত ফাইলের একটি তালিকা পেতে চান তবে এখানে দেখুন :

গিট লগ - ব্যাখ্যা = ফর্ম্যাট: - নাম-কেবল --ডিফ-ফিল্টার = এ | সাজান -u

1
ধন্যবাদ slhck, আমি ঠিক কি পরে ছিল - এবং দ্বিতীয়টি সম্পর্কেও জানতে দরকারী। আমার অনুমতি পেলে সাড়ে পাঁচ মিনিটে সঠিক হিসাবে চিহ্নিত করবে। :-)
বেনামে

3
উত্তরের জন্য ধন্যবাদ. আমি এটা খুঁজছিলাম। নোট করুন যে git ls-tree -r master --name-onlyপ্রয়োজন ছাড়াই প্রথম বিকল্প হিসাবে একই কাজ করবে cut। আহ, এবং আপনি বর্তমানে যে শাখায় আছেন তার জন্য আপনি কেবল এই তালিকাটি চান কিনা HEADতার পরিবর্তে আপনি নির্দিষ্ট করতে পারেন master
maurits

6
"গিট এলএস-ফাইলগুলি" চালানো আপনার কয়েকটি অক্ষর সংরক্ষণ করবে :)
জয়ন আর

শেষ কেন কাটা হয়েছিল -? এটি দ্বিতীয় কলামে কিছু ফাইল দেখানোর জন্য কিছু অতিরিক্ত লাইন তৈরি করে যা প্রথম থেকে পুনরাবৃত্তি হয়।
অ্যাড্রিয়ান

@ অ্যাড্রিয়ান কোনও ধারণা নেই, তারপরে কপিপাস্ট করা হয়েছে, এখনই ঠিক করা হয়েছে।
13

61

git ls-filesকমান্ড আপনাকে কি কি প্রয়োজন হবে।

সূত্র: http://www.kernel.org/pub/software/scm/git/docs/git-ls-files.html


4
git ls-filesপরিবর্তে git ls-tree -r master --name-onlyঅবশ্যই সহজ।
কারাতেডোগ

1
দুঃখিত তবে আমার সম্পাদনাটি অবৈধ ছিল না। বর্তমান গিটটিতে কোনও git-ls-filesবাইনারি নেই। কমান্ড gitসহ বাইনারি আছে ls-files। ডকুমেন্টেশনের লিঙ্কটি সামগ্রীটিতে সঠিক, তবে প্রযুক্তিগতভাবে পুরানো বাইনারিটির জন্য।
জনিজেডি

@ জনিজেডি, সম্ভবত অবৈধ হিসাবে চিহ্নিত হয়েছে কারণ আপনার সম্পাদনাটি একটি মন্তব্য হওয়া উচিত।
Ascherer

1
@JonnyJD সকল গীত মনুষ্যসৃষ্ট পৃষ্ঠার মত নামকরণ করা হয় git-commit, git-init, git-ls-files, ইত্যাদি যদিও প্রোগ্রাম আসলে subcommands হয়। git-ls-filesসম্ভবত একটি বাইনারি ছিল না , সম্ভবত। যুক্তিটি হ'ল এটি বাহ্যিক সাবকম্যান্ড প্রক্রিয়াটির সাথে সামঞ্জস্যপূর্ণ, যা আপনাকে বাইনারি git fooলিখে কোনও কমান্ড রেজিস্টার করতে দেয় git-foo
রেডন রোসবারো

4

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সমস্ত বর্তমান ডিরেক্টরিতে এবং নীচে দেখায়। এটি কেবল রেপোতে মুছে ফেলা ফাইলগুলি দেখায় না।
অ্যাড্রিয়ান

0

আপনি gitkইন্টারেক্টিভ সংগ্রহস্থল দর্শকও ব্যবহার করতে পারেন ।


1
এটি একটি সরঞ্জাম উল্লেখ করে, তবে "কীভাবে" তা সত্যই উত্তর দেয় না। আপনি কি এটি একটি কার্যক্ষম সমাধানে প্রসারিত করতে পারেন? কাউকে তাদের নিজস্ব সমাধান বিকাশের জন্য গবেষণার দিকে নির্দেশ করা একটি মন্তব্য হিসাবে বেশি উপযুক্ত। ধন্যবাদ। পর্যালোচনা থেকে
ফিক্সার 1234

-2

স্ক্রিনশট

দয়া করে চিত্রটি দেখুন, ডানদিকে দুটি বিকল্প প্যাচ এবং গাছ রয়েছে। আপনি যদি ট্রি নির্বাচন করেন তবে প্রতিটি কমিটের জন্য আপনি ফোল্ডার কাঠামো দেখতে পারবেন।


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