git学习

简介: git学习

一、基本信息

用户签名的设置 全局名称和邮箱

Administrator@DESKTOP-27HOQJ5 MINGW64 ~/Desktop
$ git config --global user.name torchstXX
Administrator@DESKTOP-27HOQJ5 MINGW64 ~/Desktop
$ git config --global user.email 138448XXX@163.com

初始化本地库

$ git init
Initialized empty Git repository in G:/git-demo/.git/
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ ls -alh
total 28K
drwxr-xr-x 1 Administrator 197121 0 11月 25 22:18 ./
drwxr-xr-x 1 Administrator 197121 0 11月 25 22:18 ../
drwxr-xr-x 1 Administrator 197121 0 11月 25 22:18 .git/
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git status
On branch master
No commits yet
nothing to commit (create/copy files and use "git add" to track)
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)

添加暂存区

Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git add hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git status
On branch master
No commits yet
Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)

提交本地库

$ git commit -m "first commit" hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
[master (root-commit) b72495e] first commit
 1 file changed, 4 insertions(+)
 create mode 100644 hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git status
On branch master
nothing to commit, working tree clean
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)

查看提交记录

$ git reflog
b72495e (HEAD -> master) HEAD@{0}: commit (initial): first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git log
commit b72495ea94c83460df1f02079fe8cd5f79a5707d (HEAD -> master)
Author: torchstar <13844826204@163.com>
Date:   Thu Nov 25 22:42:10 2021 +0800
    first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)

修改文件

$ vim hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
        modified:   hello.txt
no changes added to commit (use "git add" and/or "git commit -a")
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git add hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)
        modified:   hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git commit hello.txt
warning: LF will be replaced by CRLF in hello.txt.
The file will have its original line endings in your working directory
[master 079e3b5] test Please enter the commit message for your changes. Lines starting
 1 file changed, 3 insertions(+)
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git status
On branch master
nothing to commit, working tree clean
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git log
commit 079e3b5643e67df34cfb05ce3965dae4e8a69bba (HEAD -> master)
Author: torchstar <13844826204@163.com>
Date:   Thu Nov 25 22:55:22 2021 +0800
    test Please enter the commit message for your changes. Lines starting
commit b72495ea94c83460df1f02079fe8cd5f79a5707d
Author: torchstar <13844826204@163.com>
Date:   Thu Nov 25 22:42:10 2021 +0800
    first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git reflog
079e3b5 (HEAD -> master) HEAD@{0}: commit: test Please enter the commit messagefor your changes. Lines starting
b72495e HEAD@{1}: commit (initial): first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)

历史版本

Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git reflog
0e55f99 (HEAD -> master) HEAD@{0}: commit: thied commit
d3c33e7 HEAD@{1}: commit: second commit
079e3b5 HEAD@{2}: commit: test Please enter the commit message for your changes. Lines starting
b72495e HEAD@{3}: commit (initial): first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git log
commit 0e55f9962d7977499aa4629068955733d38dd4a1 (HEAD -> master)
Author: torchstar <13844826204@163.com>
Date:   Sun Nov 28 09:53:13 2021 +0800
    thied commit
commit d3c33e71fb9bf647b7da54383c88badc4126a828
Author: torchstar <13844826204@163.com>
Date:   Sun Nov 28 09:51:03 2021 +0800
    second commit
commit 079e3b5643e67df34cfb05ce3965dae4e8a69bba
Author: torchstar <13844826204@163.com>
Date:   Thu Nov 25 22:55:22 2021 +0800
    test Please enter the commit message for your changes. Lines starting
commit b72495ea94c83460df1f02079fe8cd5f79a5707d
Author: torchstar <13844826204@163.com>
Date:   Thu Nov 25 22:42:10 2021 +0800
    first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)

版本穿梭

$ git reflog
0e55f99 (HEAD -> master) HEAD@{0}: commit: thied commit
d3c33e7 HEAD@{1}: commit: second commit
079e3b5 HEAD@{2}: commit: test Please enter the commit message for your changes. Lines starting
b72495e HEAD@{3}: commit (initial): first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ <strong>git reset --hard 0e55f99</strong>
HEAD is now at 0e55f99 thied commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git reflog
0e55f99 (HEAD -> master) HEAD@{0}: reset: moving to 0e55f99
0e55f99 (HEAD -> master) HEAD@{1}: commit: thied commit
d3c33e7 HEAD@{2}: commit: second commit
079e3b5 HEAD@{3}: commit: test Please enter the commit message for your changes. Lines starting
b72495e HEAD@{4}: commit (initial): first commit
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)

二、分支

创建分支

Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git branch hot-fix
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git branch -v
  hot-fix d3c33e7 second commit
* master  d3c33e7 second commit

切换分支

Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git checkout hot-fix
Switched to branch 'hot-fix'

切换完分支提交

Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ git add hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ git commit -m 'hot fix add' hello.txt
[hot-fix 88cd8cf] hot fix add
 1 file changed, 1 insertion(+)
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ git reflog
88cd8cf (HEAD -> hot-fix) HEAD@{0}: commit: hot fix add
d3c33e7 (master) HEAD@{1}: checkout: moving from master to hot-fix
d3c33e7 (master) HEAD@{2}: reset: moving to d3c33e7
0e55f99 HEAD@{3}: reset: moving to 0e55f99
0e55f99 HEAD@{4}: commit: thied commit
d3c33e7 (master) HEAD@{5}: commit: second commit
079e3b5 HEAD@{6}: commit: test Please enter the commit message for your changes. Lines starting
b72495e HEAD@{7}: commit (initial): first commit

分支合并

Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git merge hot-fix
Updating d3c33e7..88cd8cf
Fast-forward
 hello.txt | 1 +
 1 file changed, 1 insertion(+)

分支冲突解决

Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ vim hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git add hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git commit -m 'master adds' hello.txt
[master 5753b6f] master adds
 1 file changed, 6 insertions(+)
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git checkout hot-fix
Switched to branch 'hot-fix'
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ vim hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ git add hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ git commit -m 'hot-fix adds' hello.txt
[hot-fix dfddb9f] hot-fix adds
 1 file changed, 3 insertions(+)
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ git checkout hot-fix
Already on 'hot-fix'
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ git checkout master
Switched to branch 'master'
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git merge hot-fix
Auto-merging hello.txt
CONFLICT (content): Merge conflict in hello.txt
Automatic merge failed; fix conflicts and then commit the result.
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master|MERGING)
$ git status
On branch master
You have unmerged paths.
  (fix conflicts and run "git commit")
  (use "git merge --abort" to abort the merge)
Unmerged paths:
  (use "git add <file>..." to mark resolution)
        both modified:   hello.txt
no changes added to commit (use "git add" and/or "git commit -a")
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master|MERGING)
$ vim hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master|MERGING)
$ git add hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master|MERGING)
$ git commit -m 'chongtujiejue'
[master 7d4e7b7] chongtujiejue
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ ls
hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ vim hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (master)
$ git checkout hot-fix
Switched to branch 'hot-fix'
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
$ vim hello.txt
Administrator@DESKTOP-27HOQJ5 MINGW64 /g/git-demo (hot-fix)
目录
相关文章
|
5月前
|
Linux 开发工具 C语言
Linux的学习之路:7、yum与git
Linux的学习之路:7、yum与git
51 0
|
12月前
|
JSON 前端开发 JavaScript
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
576 0
|
Java 开发工具 数据库
|
4月前
|
存储 网络安全 开发工具
【GIT】Git常用命令学习
【GIT】Git常用命令学习
57 1
|
5月前
|
安全 Shell 网络安全
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
Git学习---Git快速入门、Git基础使用、Git进阶使用、Git服务器使用(IDEA集成GitHub、Gitee、GitLab)、GitHub Desktop客户端
183 0
|
5月前
|
缓存 数据可视化 开发工具
学习 Git,看这一篇就够了!(下)
学习 Git,看这一篇就够了!(下)
120 0
|
5月前
|
存储 Linux Shell
学习 Git,看这一篇就够了!(上)
学习 Git,看这一篇就够了!(上)
101 0
|
10月前
|
Java Linux 开发工具
阿里云git仓库学习
阿里云git仓库学习
132 1
|
5月前
|
缓存 开发工具 数据安全/隐私保护
git-学习git,这一篇就足够了(初学者视角实战教程)
git-学习git,这一篇就足够了(初学者视角实战教程)
205 0
|
10月前
|
安全 开发工具 git
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典(二)
最近从 0 学习Git,详细分类总结了这份 Git 命令宝典(二)
62 0