Difference between revisions of "Git checkout"

From wikieduonline
Jump to navigation Jump to search
 
(40 intermediate revisions by 5 users not shown)
Line 1: Line 1:
 
{{lowercase}}
 
{{lowercase}}
<code>git checkout</code> switch [[branches]] or restore working tree files
+
<code>[[git]] checkout</code> switch [[branches]] or restore working [[tree files]]
 
* Doc: https://git-scm.com/docs/git-checkout
 
* Doc: https://git-scm.com/docs/git-checkout
  
 
  [[git]] checkout
 
  [[git]] checkout
 
  Your branch is up to date with '[[origin]]/[[main]]'.
 
  Your branch is up to date with '[[origin]]/[[main]]'.
 +
 +
[[git]] checkout your_branch_name
 +
[[git]] checkout your-existing-branch
 +
 +
[[git checkout tags]]/1.1.4
 +
  
 
  [[git checkout master]]
 
  [[git checkout master]]
Line 12: Line 18:
 
  fatal: refusing to merge unrelated histories
 
  fatal: refusing to merge unrelated histories
  
  git checkout main
+
===Create a new branch and change to it: <code>[[-b]]</code>===
  error: [[pathspec]] 'main' did not match any file(s) known to git
+
  [[git checkout -b]] YOUR_NEW_BRANCH_NAME
 +
  Switched to a new branch
 +
 
 +
===[[Change branch]]===
 +
<code>[[git checkout new_branch]]</code> or [[git switch]] new_branch
  
 
  git checkout main
 
  git checkout main
Line 19: Line 29:
 
  Your branch is up to date with 'origin/main'.
 
  Your branch is up to date with 'origin/main'.
  
[[git checkout --progress --force]]
+
<code>[[git checkout --progress --force]]</code>
 +
 
 +
<code>[[git checkout --track]]</code>
 +
 
 +
== Errors ==
 +
[[git checkout main]]
 +
error: [[pathspec]] 'main' did not match any file(s) known to git
  
  git checkout your_branch_name
+
  error: [[pathspec]] 'path/tobranch' did not match any file(s) known to git
  
Create a new branch:
+
[[git checkout main]]
  [[git checkout -b]] YOUR_NEW_BRANCH_NAME
+
[[error: Your local changes to the following files would be overwritten by checkout]]:
  Switched to a new branch
+
        yourfile1.txt
 +
        yourfile2.txt
 +
  Please commit your changes or [[git stash|stash]] them before you switch branches.
 +
Aborting
 +
 
 +
 
 +
 
 +
git checkout [[remotes/origin/]]yourbranch
 +
warning: [[refname]] 'remotes/origin/yourbranch' is ambiguous.
 +
  Switched to branch 'remotes/origin/yourbranch'
 +
 
 +
=== Rename Branch ===
 +
{{rename branch}}
 +
 
 +
== git checkout ==
 +
git checkout remotes/origin/your-branch-name
 +
[[HEAD]] is now at 28805de remove unused variable you-vars
  
  [[git checkout --track]]
+
== Messages ==
 +
  You are in '[[detached HEAD]]' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch.
  
===Rename Branch===
+
== Activities ==
[[git]] checkout -f yourbranch
+
* [[Create git branch with current changes]]
[[git branch]] -M yourNewBranch
 
  
 
== Related ==
 
== Related ==
 +
* <code>[[git branch -a]]</code>
 
* <code>[[git clone]]</code>
 
* <code>[[git clone]]</code>
 
* <code>[[git merge]]</code>
 
* <code>[[git merge]]</code>
Line 39: Line 72:
 
* <code>[[git checkout master]] && [[git pull]]</code>
 
* <code>[[git checkout master]] && [[git pull]]</code>
 
* <code>[[git show-branch]]</code>
 
* <code>[[git show-branch]]</code>
 +
* [[GitHub Actions: uses: actions/checkout@v3]]
 +
* <code>[[git switch]]</code>
 +
* <code>[[git branch --list]]</code>
 +
* <code>[[HEAD]]</code>
 +
* <code>[[git stash pop]]</code>
 +
* <code>[[git tag]]</code>
  
 
== See also ==
 
== See also ==
 
* {{git checkout}}
 
* {{git checkout}}
* {{git}}
+
* {{pathspec}}
  
 
[[Category:Git]]
 
[[Category:Git]]

Latest revision as of 11:05, 19 January 2024

git checkout switch branches or restore working tree files

git checkout
Your branch is up to date with 'origin/main'.
git checkout your_branch_name
git checkout your-existing-branch
git checkout tags/1.1.4


git checkout master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Switched to a new branch 'master'
git merge origin/main
fatal: refusing to merge unrelated histories

Create a new branch and change to it: -b[edit]

git checkout -b YOUR_NEW_BRANCH_NAME
Switched to a new branch

Change branch[edit]

git checkout new_branch or git switch new_branch

git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.

git checkout --progress --force

git checkout --track

Errors[edit]

git checkout main
error: pathspec 'main' did not match any file(s) known to git
error: pathspec 'path/tobranch' did not match any file(s) known to git
git checkout main 
error: Your local changes to the following files would be overwritten by checkout:
       yourfile1.txt
       yourfile2.txt
Please commit your changes or stash them before you switch branches.
Aborting


git checkout  remotes/origin/yourbranch
warning: refname 'remotes/origin/yourbranch' is ambiguous.
Switched to branch 'remotes/origin/yourbranch'

Rename Branch[edit]

git checkout -f yourbranch 
git branch -M yourNewBranch

git checkout[edit]

git checkout remotes/origin/your-branch-name 
HEAD is now at 28805de remove unused variable you-vars

Messages[edit]

You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by switching back to a branch.

Activities[edit]

Related[edit]

See also[edit]

  • https://github.com/actions/checkout
  • Advertising: