Sample Header Ad - 728x90

Unix & Linux Stack Exchange

Q&A for users of Linux, FreeBSD and other Unix-like operating systems

Latest Questions

1 votes
1 answers
39 views
How to fixup when there are duplicate commit subjects?
To reproduce: 1. Create two commits with the same commit message *subject* (that is, the first line of the commit message). Let's say the first commit gets commit ID "a", and the second one gets commit ID "b". 1. (Optionally create some other commits.) 1. Create a fixup commit for commit "b" by runn...
To reproduce: 1. Create two commits with the same commit message *subject* (that is, the first line of the commit message). Let's say the first commit gets commit ID "a", and the second one gets commit ID "b". 1. (Optionally create some other commits.) 1. Create a fixup commit for commit "b" by running git commit --fixup=b. 1. Run git rebase --interactive. At this point I would expect the fixup commit to be listed after the commit I told it to merge with, "b". Instead it is instead listed after commit "a"! Presumably this happens because because the fixup commit message, instead of mentioning the commit ID I wanted to merge with, has a subject like "fixup! [subject of commit a and b]". And so Git lost the information I tried to convey about which commit I wanted to merge with. Is there some way to configure Git to do the expected thing? For example by changing the fixup commit subject to something like "fixup! [ID of commit b]"?
l0b0 (53368 rep)
Aug 5, 2025, 01:32 PM • Last activity: Aug 5, 2025, 02:44 PM
2 votes
2 answers
2844 views
Self update bash script if there are any updates first then continue on, with Git
I'm trying to add the ability for my [ArchLinux installer script][1] to check if it's update-to-date based on rather it matches (or doesn't match) the version number that's on gitlab. The primary script that runs the installer (and all of the numbered script files) is the `aalis.sh` script, it basic...
I'm trying to add the ability for my ArchLinux installer script to check if it's update-to-date based on rather it matches (or doesn't match) the version number that's on gitlab. The primary script that runs the installer (and all of the numbered script files) is the aalis.sh script, it basically goes and runs the other files together. The version numbering would be something like 1.2.3 (major.minor.patch). Basically, whenever I make any changes to the script, I will change the script's version number of gitlab; and I want the script itself to be able to detect that its version number doesn't the match the one on github (for cases where someone has an outdated version of the script and try to run it); and automatically update itself using git fetch origin master then rerun itself using the updated contents.
Nova Leary (43 rep)
Jan 2, 2022, 01:00 AM • Last activity: Jul 24, 2025, 06:06 PM
1 votes
1 answers
33 views
How to control podman's images with git?
We are using `podman`'s containers for the project. The issue, we have is what while working on different branches of the project we need slightly different containers. So each git branch has its own container building script. But the images for these containers are not under git's control. So after...
We are using podman's containers for the project. The issue, we have is what while working on different branches of the project we need slightly different containers. So each git branch has its own container building script. But the images for these containers are not under git's control. So after each git switch we need to rebuild containers, which can take a few minutes each time. Is there a way to *conveniently* put podman's images under git's control? Is there a how-to for this somewhere in podman's documentation? How is it solved (if it is solved) in other container systems?
White Owl (5267 rep)
Jul 23, 2025, 05:27 PM • Last activity: Jul 24, 2025, 02:08 PM
5 votes
0 answers
95 views
Subsequent "git clone" commands influencing each other?
I'm currently part of a migration from GitLab to Azure DevOps. As part of that I wrote a little bash script that iterates over the migrated git repos and for each performs a clone from both gitlab and azdo and diffs the branches, tags and log. This works like a charm for 128 out of the 129 repos we'...
I'm currently part of a migration from GitLab to Azure DevOps. As part of that I wrote a little bash script that iterates over the migrated git repos and for each performs a clone from both gitlab and azdo and diffs the branches, tags and log. This works like a charm for 128 out of the 129 repos we've migrated so far, but for one of them (not especially big or complex), the clone from azdo fails 100% of the time. Cloning it directly on the cmdline (same ssh binary & config) works, cloning in IntelliJ works, but it always fails in the script. Deleting and migrating it again doesn't make a difference. The actual error varies seemingly randomly between these: * Running into a timeout after Sending command: git-upload-pack 'v3/[...]' * Corrupted MAC on input. [...] ssh_dispatch_run_fatal: Connection to [...] port 22: message authentication code incorrect * ssh: connect to host ssh.dev.azure.com port 22: Undefined error: 0 (once only so far) After some experiments I've nailed it down to the "clone from gitlab, then clone from azdo" sequence in the script:
#!/usr/bin/env bash
#
# [...]
    rm -rf "$WORK"
    mkdir -p "$WORK"

    git clone "${GL_URL}${GL_PROJECT}.git" "$WORK/gitlab"
    git clone "${DO_URL}${DO_PROJECT}" "$WORK/azdo"
# [...]
If I comment out the gitlab line or switch the lines (cloning from azdo first) everything works like a charm. And I can also replicate that 100% reliably without a script in my interactive shell (zsh): * git clone ..gitlab.. ; git clone ..azdo.. => clone from azdo fails * git clone ..gitlab.. ; sleep 1 ; git clone ..azdo.. => clone from azdo fails * git clone ..gitlab.. and once it finishes paste & run git clone ..azdo.. => clone from azdo fails * (Edit) git clone ..azdo.. ; git clone ..gitlab.. => clone from gitlab fails * git clone ..gitlab.. ; sleep 5 ; git clone ..azdo.. => everything works I've diffed the output from GIT_SSH_COMMAND="ssh -vvv" git clone ... from both failed and successful runs and found no difference prior to the error. Soo - how can it be that two git clone operations, running one after the other, even with a few seconds in between, operating on different remotes and local dirs, reliably influence each other to the point of the second operation failing? Has anyone else experienced anything like this? My environment: * OS: MacOS Sequoia 15.5 * Interactive shell: zsh 5.9 (arm64-apple-darwin24.0) * Script shell: GNU bash, version 3.2.57(1)-release (arm64-apple-darwin24) * git version 2.47.0 (installed via homebrew)
creinig (176 rep)
Jul 15, 2025, 08:37 AM • Last activity: Jul 16, 2025, 08:26 AM
4 votes
1 answers
127 views
How can I reverse forward git ssh when my config requires a Yubikey
I frequently need to log into a VM that has no direct access to the internet or our source code repo. In the past I have circumvented this with a reverse port forward over ssh but now my problem is that we use Yubikey local hardware tokens and I need to forward the request through my local machine,...
I frequently need to log into a VM that has no direct access to the internet or our source code repo. In the past I have circumvented this with a reverse port forward over ssh but now my problem is that we use Yubikey local hardware tokens and I need to forward the request through my local machine, where I can press the key In the past, without the Yubikey, this is what I had:
Host bastion
  HostName 129.153.206.108

### The Remote Host
Host sredev1
  HostName 10.0.1.40
  ProxyJump bastion
  RemoteForward 7999 foo.mycorp.com:7999
Then, updating my local git as:
get remote set-url main localhost:7999
which allowed
git pull
However, the situation is more complicated and I need similar functionality; I am not particular on the method but I don't want to have syncing processes in place. My ssh config at the moment is:
Host oci*.private.devops.scmservice.*.oci.oracleiaas.com
   User cbongior@bmc_operator_access
   IdentityAgent ~/.ssh/scm-agent.sock
   PKCS11Provider /usr/local/lib/libykcs11.dylib


Host fsretoolsint-jh-1
    Hostname 100.92.7.226
    User     jumpuser
    IdentityFile ~/.ssh/jumpuser.pkey

Host sredev2
  Port 22
  IdentityFile ~/.ssh/sredev2.key
  Hostname 10.196.169.56
  ProxyJump  fsretoolsint-jh-1
  RemoteForward 7999 oci.private.devops.scmservice.us-phoenix-1.oci.oracleiaas.com:22
And, for example, in a given repo I have:
git remote -v
origin  ssh://localhost:7999/namespaces/axuxirvibvvo/projects/VERM/repositories/fleetman (fetch)
origin  ssh://localhost:7999/namespaces/axuxirvibvvo/projects/VERM/repositories/fleetman (push)
And locally that same repo is:
origin  ssh://oci.private.devops.scmservice.us-phoenix-1.oci.oracleiaas.com/namespaces/axuxirvibvvo/projects/VERM/repositories/fleetman (fetch)
origin  ssh://oci.private.devops.scmservice.us-phoenix-1.oci.oracleiaas.com/namespaces/axuxirvibvvo/projects/VERM/repositories/fleetman (push)
On my vm this is what I get when I try git pull:
-> % git remote set-url origin ssh://localhost:7999/namespaces/axuxirvibvvo/projects/VERM/repositories/fleetman
cbongior@sredev2 [10:51:44 PM] [~/dev/oracle/fleetman] [main *]
-> % git fetch origin
cbongior@localhost: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Now, I know the local keypair isn't registered - and there is no point. We are setup to use Yubi keys to authenticate and this is where I am stumped. So, for architectural clarity, the arrangement is:
my laptop with YK -> jump host -> vm
and the tunnel arrangement is:
git server << my laptop << jump host << vm port 7999
I am created a reverse tunnel on the VM directorying traffic on port 7999 to the git server on 22 **Question:** How can I configure this to forward the ssh request to my local agent?
Christian Bongiorno (147 rep)
Apr 9, 2025, 04:41 PM • Last activity: Jul 7, 2025, 07:38 PM
1 votes
1 answers
2219 views
Git - how to add/link subfolders into one git-repository directory
Assuming I have a file structure like this: ├── Project-1/ │&#160;&#160; ├── files/ │&#160;&#160; └── special-files/ ├── Project-2/ │&#160;&#160; ├── files/ │&#160;&#160; └── special-files/ └── Project-3/ ├── files/ └── special-files/ Now I want to create a Git repository, including all the `special...
Assuming I have a file structure like this: ├── Project-1/ │   ├── files/ │   └── special-files/ ├── Project-2/ │   ├── files/ │   └── special-files/ └── Project-3/ ├── files/ └── special-files/ Now I want to create a Git repository, including all the special-files folders. If it was files, I could create a hardlink ln ./Project-1/special-files ./Git-Project/special-files-1 and so on, so I would get: Git-Project/ ├── .git ├── .gitignore ├── special-files-1/ ├── special-files-2/ └── special-files-3/ Though hardlinks do not work with folders. Symlinks do not get handled by git. **Is there a way to achieve, collecting/linking these folders into a git repository-folder?**
nath (6094 rep)
Aug 5, 2021, 04:48 PM • Last activity: Jul 7, 2025, 01:01 PM
1 votes
1 answers
2822 views
Why is my `git diff` now showing old mode and new mode instead of the differences in values of my local branch vs. master branch?
When I used to run `git diff requirements.txt` for the longest time it would show me the difference between the value of `requirements.txt` in my local git vs. master branch. But now when I run it, I get: diff --git a/requirements.txt b/requirements.txt old mode 100644 new mode 100755 I am so confus...
When I used to run git diff requirements.txt for the longest time it would show me the difference between the value of requirements.txt in my local git vs. master branch. But now when I run it, I get: diff --git a/requirements.txt b/requirements.txt old mode 100644 new mode 100755 I am so confused... Did I accidentally mess with the config?
Patrick_Chong (111 rep)
Feb 1, 2024, 11:11 PM • Last activity: Jul 3, 2025, 11:48 AM
5 votes
3 answers
12913 views
Show only changed lines without syntax with git diff
I have a list of usernames that are in a text file. I update this file and commit it. I am looking for a way to get a list of the changes since the last commit. I do not want any diff formatting at all, I just want to get an output that has usernames one per line (as they are added to each commit) s...
I have a list of usernames that are in a text file. I update this file and commit it. I am looking for a way to get a list of the changes since the last commit. I do not want any diff formatting at all, I just want to get an output that has usernames one per line (as they are added to each commit) since the last commit. I can't find a setting that will remove all the git diff syntax from the output so it's purely a list new lines added only. # Example Original file: user1 user2 user3 I then add user4 user5 Then commit. I want to be able to do a git diff and see only: user4 user5
Michael (151 rep)
Jun 15, 2018, 09:47 AM • Last activity: Jun 30, 2025, 01:12 PM
3 votes
2 answers
3098 views
How to negate a gitignore pattern containing spaces?
[My .gitignore][1] starts by excluding everything, and then negating everything that I want to include, to avoid lots of noise in `git status`: * !awesome/ !calibre/ […] However, after installing Visual Studio Code I can't seem to negate the match for the directory "Code - OSS". I've tried the follo...
My .gitignore starts by excluding everything, and then negating everything that I want to include, to avoid lots of noise in git status: * !awesome/ !calibre/ […] However, after installing Visual Studio Code I can't seem to negate the match for the directory "Code - OSS". I've tried the following lines: !Code - OSS/ !Code\ -\ OSS/ !'Code - OSS/' !"Code - OSS/" !Code* With all of those lines at the bottom of my .gitignore git status still doesn't list this directory as available for inclusion. --- The output of git check-ignore --verbose Code\ -\ OSS with each of those lines is also strange: .config/.gitignore:22:!Code - OSS/ Code - OSS .config/.gitignore:22:!Code\ -\ OSS/ Code - OSS .config/.gitignore:1:* Code - OSS .config/.gitignore:1:* Code - OSS .config/.gitignore:22:!Code* Code - OSS
l0b0 (53368 rep)
Sep 18, 2018, 03:18 AM • Last activity: Jun 24, 2025, 04:08 PM
3 votes
2 answers
764 views
Can I clone a branch of an unrelated remote repo into a branch of my git repo, and keep it updated?
I have a local repo with some code in it in different branches. There happens to exist a git repo out in the world that has the same software, but a disconnected git history. (I don't think it matters, but I know for sure that that repo uses a different branch naming scheme than mine, so there are n...
I have a local repo with some code in it in different branches. There happens to exist a git repo out in the world that has the same software, but a disconnected git history. (I don't think it matters, but I know for sure that that repo uses a different branch naming scheme than mine, so there are no conflicts.) I want to clone a specific branch of that remote repo into a new, matching branch of my local repo, and subsequently be able to update it with git pull. Is this possible, and if so... how?
mattdm (41207 rep)
Dec 13, 2021, 02:41 PM • Last activity: Jun 20, 2025, 10:09 AM
0 votes
0 answers
35 views
can't install pgAdmin4 desktop on arch linux
I need your help! I'm trying to install ```pgAdmin4``` desktop version on my Arch system. I am getting ```libfakeroot internal error: payload not recognized!``` while building package for ```pgadmin4-server```(which is required by pgadmin4-desktop) using ```makepkg -si``` command. Also, I've tried t...
I need your help! I'm trying to install
desktop version on my Arch system. I am getting
internal error: payload not recognized!
while building package for
-server
(which is required by pgadmin4-desktop) using
-si
command. Also, I've tried to install pgadmin4 using these 2 commands:
clone https://aur.archlinux.org/pgadmin4-py.git 
, and
pgadmin4-py/ && makepkg -si --noconfirm
, but continue to get the same error. I can't finish compiling, because this error appears and compiling process goes into a loop of these errors and I need to stop it myself by pressing
+
. I don't understand where is the problem. Would be grateful for your help.
Alex (3 rep)
Jun 18, 2025, 07:29 AM
0 votes
1 answers
2025 views
What's the best way to rsync two directories with git repositories?
I have two machines that I use for work. One is the local machine located at my home, and the other is the remote machine located at my office. I have a "development" folder in which I keep all my work. It contains various folders of LaTeX documents, Python projects, etc. Most of these folders are g...
I have two machines that I use for work. One is the local machine located at my home, and the other is the remote machine located at my office. I have a "development" folder in which I keep all my work. It contains various folders of LaTeX documents, Python projects, etc. Most of these folders are git repositories themselves. I need to be able to switch between the machines and pick up my development work as and when I require it depending upon my physical presence at home or office. What's the best way to do rsync of this "development" folder? I did: rsync -zvaP /media/shihab/development shihab@remote:/media/shihab/OSDisk/development and rsync -zvaP shihab@remote:/media/shihab/OSDisk/development /media/shihab/development but I ended up messing up my file and folder permissions and groups. How do established programmers manage switching between their machines?
Shihab Khan (123 rep)
Jun 22, 2022, 01:23 AM • Last activity: Jun 9, 2025, 09:02 PM
0 votes
1 answers
3385 views
Old CentOS 5.6, Due to github.com delete the TLSv1/TLSv1.1 support, How can I access to github.com/repo.git using git system
Now I have a cluster with Rocks 5.4 based on CentOS 5.6. When I `git push` the code to *github.com*, I run into the errors: >error: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version while accessing http://github.com/ related link: https://unix.stackexchange.com/question...
Now I have a cluster with Rocks 5.4 based on CentOS 5.6. When I git push the code to *github.com*, I run into the errors: >error: error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version while accessing http://github.com/ related link: https://unix.stackexchange.com/questions/438504/compile-git-to-use-openssl-library-libssl-so-1-0-1/444718#444718 https://githubengineering.com/crypto-removal-notice/ Hope someone give a solution. Thank you very much! Qiang
Qiang L (1 rep)
May 18, 2018, 10:46 PM • Last activity: Jun 6, 2025, 10:09 PM
1 votes
1 answers
2103 views
GIT move files from folder to subfolder
I have the following folder structure. ``` Service | -- App1 | --- bin | --- file1 | --- file2 | --App2 | --- bin | --- file1 | --- file2 | --- file3 | --App3 | --- bin | --- file1 | --- file2 ``` I'm looking to move files only from the root of App folders to their corresponding bin folders whilst p...
I have the following folder structure.
Service
|
-- App1
  |
  --- bin
  |
  --- file1
  |
  --- file2
|
--App2
  |
  --- bin
  |
  --- file1
  |
  --- file2
  |
  --- file3
|
--App3
  |
  --- bin
  |
  --- file1
  |
  --- file2
I'm looking to move files only from the root of App folders to their corresponding bin folders whilst preserving GIT history. So the end result should be:
Service
|
-- App1
  |
  --- bin
     |
      --- file1
     |
      --- file2
|
--App2
  |
  --- bin
     |
      --- file1
     |
      --- file2
     |
      --- file3
|
--App3
  |
  --- bin
     |
      --- file1
     |
      --- file2
I attempted the following...
#!/bin/bash

dir1="/c/Service"

subs=ls $dir1

for i in $subs; do
  git mv $dir1/$i/* $dir1/$i/bin/
done
...but see the following errors: *fatal: can not move directory into itself* *fatal: Invalid path '/c': No such file or directory* Any help appreciated.
Confounder (131 rep)
Jul 29, 2022, 04:38 PM • Last activity: May 15, 2025, 12:09 PM
4 votes
2 answers
280 views
How did I get the git commits to show up in autocomplete?
Git tab completion on my mac: ![Git tab completion on my mac][1] Git tab completion on my Ubuntu server: ![Git tab completion on my ubuntu server][2] [1]: https://i.sstatic.net/mM5Mu.png [2]: https://i.sstatic.net/puAiy.png On my mac and my Ubuntu server I get very different output from tab completi...
Git tab completion on my mac: Git tab completion on my mac Git tab completion on my Ubuntu server: Git tab completion on my ubuntu server On my mac and my Ubuntu server I get very different output from tab completion despite having the same version of zsh, same version of git, the same version of oh-my-zsh, and the same .zshrc file. I wanted to know what is giving me the ability to see commits on my mac using tab completion so that I can set it up on my ubuntu server.
William Young
Jun 21, 2016, 11:46 PM • Last activity: May 9, 2025, 03:06 PM
-1 votes
2 answers
186 views
how to filter git commits only if certain directories were changed
I need to filter commits based on directory changes, for example I need to get a list of commits only if the commit made a change in a certain directory. I have tried the path filter glob option mentioned below. but this will include any commit that had a change in the specified directory even if an...
I need to filter commits based on directory changes, for example I need to get a list of commits only if the commit made a change in a certain directory. I have tried the path filter glob option mentioned below. but this will include any commit that had a change in the specified directory even if any other file was changed as part of the commit. git log --pretty=format:'%H %s' -- \apps/web*/* I need to find a way so that only commits that specifically change files in those directories and no other changes are filtered out.
xerxes (359 rep)
May 8, 2025, 12:02 AM • Last activity: May 8, 2025, 10:40 AM
1 votes
0 answers
950 views
how to debug oh-my-zsh auto-completion not working?
The title largely says it. Most of my auto-completion is working, but `git` is not. It does not complete commands, e.g. `git check `, nor does it complete branches, e.g. `git checkout ge `. It used to until at most a few weeks ago (no idea what changed). Other completions, such as filenames and dire...
The title largely says it. Most of my auto-completion is working, but git is not. It does not complete commands, e.g. git check, nor does it complete branches, e.g. git checkout ge. It used to until at most a few weeks ago (no idea what changed). Other completions, such as filenames and directories and commands, work fine. macOS, git installed via homebrew, zsh with oh-my-zsh, lots of common (i.e. bash and zsh) commands in ~/.common_profile, which is sourced by both ~/.zshrc and ~/.bashrc. It is not that disabling it, as I tried commenting it out. I have both git and gitfast plugins enabled. The git plugin aliases seem to be working fine. I can run ^X? to get a dump, but no idea how to interpret the dump. UPDATE 1: I switched from the default macOS zsh (5.8) to the one installed via homebrew (5.9) and now it works. But I still want to understand why it failed. UPDATE 2: As suggested by Gilles in the comments, I posted the debug output. See this gist .
deitch (473 rep)
Sep 12, 2022, 05:21 PM • Last activity: May 5, 2025, 09:20 AM
15 votes
8 answers
10703 views
Pipe filelist into 'git add'
I performed a fresh clone and copied/pasted a working directory into the cloned directory. Now have a list of changed files: $ git status --short | grep -v "??" | cut -d " " -f 3 GNUmakefile Readme.txt base32.h base64.h ... When I try to get Git to add them, it results in an error (I don't care abou...
I performed a fresh clone and copied/pasted a working directory into the cloned directory. Now have a list of changed files: $ git status --short | grep -v "??" | cut -d " " -f 3 GNUmakefile Readme.txt base32.h base64.h ... When I try to get Git to add them, it results in an error (I don't care about adding 1 at a time): $ git status --short | grep -v "??" | cut -d " " -f 3 | git add Nothing specified, nothing added. Maybe you wanted to say 'git add .'? Adding the -: $ git status --short | grep -v "??" | cut -d " " -f 3 | git add - fatal: pathspec '-' did not match any files And --: $ git status --short | grep -v "??" | cut -d " " -f 3 | git add -- Nothing specified, nothing added. Maybe you wanted to say 'git add .'? Trying to use *interactive* from the man page appears to have made a greater mess of things: $ git status --short | grep -v "??" | cut -d " " -f 3 | git add -i staged unstaged path 1: unchanged +1/-1 GNUmakefile 2: unchanged +11/-11 Readme.txt ... *** Commands *** 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help Huh (GNUmakefile)? What now> *** Commands *** 1: status 2: update 3: revert 4: add untracked 5: patch 6: diff 7: quit 8: help Huh (Readme.txt)? (I've already deleted the directory Git made a mess of, so I'm not trying to solve that issue). How do I tell Git to add the files piped into it?
user56041
Nov 19, 2015, 05:56 PM • Last activity: May 1, 2025, 08:40 AM
3 votes
2 answers
3398 views
Display git branch in terminal
I am using fedora OS and I want to display git branch or tag in terminal when I go into the git folder project. I follow [this tutorial](https://fedoraproject.org/wiki/Git_quick_reference#Display_current_branch_in_bash). After I ran: source /usr/share/git-core/contrib/completion/git-prompt.sh source...
I am using fedora OS and I want to display git branch or tag in terminal when I go into the git folder project. I follow [this tutorial](https://fedoraproject.org/wiki/Git_quick_reference#Display_current_branch_in_bash) . After I ran: source /usr/share/git-core/contrib/completion/git-prompt.sh source ~/.bashrc It displays the git branch well. But if I run: cd .. #I go back the parent folder which is not git folder It keeps the git branch. How can I fix it?
GAVD (181 rep)
Mar 18, 2018, 05:32 PM • Last activity: Apr 30, 2025, 03:07 PM
0 votes
2 answers
4311 views
How to install git repo using apt-get?
I want to install my new git hub application to system using command like ``` apt-get install ``` rather than cloning git repo and compiling and moving the file to /bin/folder.
I want to install my new git hub application to system using command like
apt-get install
rather than cloning git repo and compiling and moving the file to /bin/folder.
user351206
May 3, 2019, 12:24 PM • Last activity: Apr 16, 2025, 09:10 PM
Showing page 1 of 20 total questions