Difference between revisions of "Git checkout"

From wikieduonline
Jump to navigation Jump to search
 
(29 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
  
* [[Create a new branch]]:
+
===Create a new branch and change to it: <code>[[-b]]</code>===
 
  [[git checkout -b]] YOUR_NEW_BRANCH_NAME
 
  [[git checkout -b]] YOUR_NEW_BRANCH_NAME
 
  Switched to a new branch
 
  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 22: 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>
  
git checkout your_branch_name
+
<code>[[git checkout --track]]</code>
 
 
[[git checkout --track]]
 
  
 
== Errors ==
 
== Errors ==
  [[git checkout]] main
+
  [[git checkout main]]
 
  error: [[pathspec]] 'main' did not match any file(s) known to git
 
  error: [[pathspec]] 'main' did not match any file(s) known to git
  
  [[git checkout]] main
+
error: [[pathspec]] 'path/tobranch' did not match any file(s) known to git
  error: Your local changes to the following files would be overwritten by checkout:
+
 
 +
  [[git checkout main]]  
 +
  [[error: Your local changes to the following files would be overwritten by checkout]]:
 
         yourfile1.txt
 
         yourfile1.txt
 
         yourfile2.txt
 
         yourfile2.txt
  Please commit your changes or [[stash]] them before you switch branches.
+
  Please commit your changes or [[git stash|stash]] them before you switch branches.
 
  Aborting
 
  Aborting
  
===Rename Branch===
+
 
  [[git]] checkout -f yourbranch
+
 
  [[git branch]] -M yourNewBranch
+
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
 +
 
 +
== 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.
 +
 
 +
== Activities ==
 +
* [[Create git branch with current changes]]
  
 
== Related ==
 
== Related ==
Line 51: Line 73:
 
* <code>[[git show-branch]]</code>
 
* <code>[[git show-branch]]</code>
 
* [[GitHub Actions: uses: actions/checkout@v3]]
 
* [[GitHub Actions: uses: actions/checkout@v3]]
* [[git switch]]
+
* <code>[[git switch]]</code>
 
* <code>[[git branch --list]]</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: