• Git基本命令和使用


    1、Git本地库命令

    命令名称作用
    git init初始化本地库
    git config --global user.name 用户名设置用户签名
    git config --global user.email 邮箱设置用户签名
    git status查看本地库状态
    git add 文件名添加到暂存区
    git commit -m “日志信息” 文件名提交到本地库
    git reflog查看历史记录
    git reset --hard 版本号版本穿梭

    1.1、初始化本地库

    • 基本语法
    git init
    
    • 1
    • 案例实操

    在这里插入图片描述

    初始化效果,会生成.git文件夹

    在这里插入图片描述

    1.2、设置用户签名

    • 基本语法
    git config --global user.name 用户名
    git config --global user.email 邮箱
    
    • 1
    • 2
    • 案例实操
    git config --global user.name ZHANG Yaning
    git config --global user.email yaning.zhang@sunmi.com
    
    • 1
    • 2
    #查看签名信息
    git config user.name
    
    git config user.email
    #如果你想查看当前用户的所有Git配置信息,可以使用以下命令:
    git config --list
    #如果你想查看某个特定仓库的用户配置信息,可以在上述命令后加上--local参数,如:
    git config --local user.name
    git config --local user.email
    git config --local --list
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    也可以在文件中查看

    cat ~/.gitconfig
    
    • 1

    在这里插入图片描述

    1.3、查看本地库状态

    • 基本语法
    git status
    
    • 1
    • 案例实操
    1. 工作区没有任何文件
      在这里插入图片描述

    2. 检测到未追踪的文件

    新建一个hello.txt后查看

    在这里插入图片描述

    1. 检测到有新建的文件添加到了暂存区

    执行

    git add hello.txt
    
    • 1

    在这里插入图片描述

    1. 提交完成后查看状态
    git commit -m "测试"
    
    • 1

    在这里插入图片描述

    1. 检测到工作区有文件被修改

    修改hello.txt
    在这里插入图片描述

    1. 工作区的修改添加到了暂存区
      在这里插入图片描述

    2. 产生冲突(在后面讲分支操作后演示)

    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (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 ..." to mark resolution)
            both modified:   hello.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    1.4、将工作区的修改添加到暂存区

    • 基本语法
    git add 文件名
    
    • 1

    1.5、将暂存区的修改提交到本地库

    • 基本语法
    git commit -m "日志信息" 文件名
    
    $ git commit -m "my 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) 86366fa] my first commit
     1 file changed, 16 insertions(+)
     create mode 100644 hello.txt
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    1.6、历史版本

    1. 查看历史版本
    • 基本语法
    git reflog
    
    • 1
    • 案例实操

    修改两次文件内容,分别add、commit
    在这里插入图片描述

    1. 版本穿梭
    • 基本语法
    git reset --hard 版本号
    
    • 1
    • 案例实操
      在这里插入图片描述

    1.7、取消commit

    在 git 中提交后,如何撤销?在使用 git 协同工作,有时候我们提交了一次修改,发现了错误,想要撤销该次提交,该怎么做呢?git 中的每次提交(commit) 都相当于是仓库的一个快照,另外,在 git 中有一个名为 HEAD 的引用变量–使用 git log 查看日志的时候就能看到。这个 HEAD 用于指向你正在工作的分支中的最近提交。

    • 基本命令

      在 git 中撤消提交的最简单方法是使用 还原提交(revert)选项:

      git revert
      
      • 1

      这会撤销最近的提交。

      包括使用 revert 在内,有两种方法可以撤销提交操作:

      • git revert: 恢复 git 仓库的先前状态,并将更改反映在 git 日志中;
      • git reset:删除上次提交。如果想要彻底恢复错误的提交且不保留日志,可使用 git reset。
    • 案例实操1:还原提交

    
    $ git status
    On branch master
    nothing to commit, working tree clean
    使用 cat 命令来看一下这个文件的内容:
    $ cat hello.txt
    123
    456
    然后添加一行“zyn”使用 git add . 将其添加到暂存区,再然后做一次提交
    $ vim hello.txt
    
    $ 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
    
    $ git commit -m "test revert"
    [master 2e99fb8] test revert
     1 file changed, 1 insertion(+)
    
    $ git status
    On branch master
    nothing to commit, working tree clean
    
    $ cat hello.txt
    123
    456
    zyn
    
    系统返回给我一个唯一标识(master 2e99fb8)。现在运行 git revert 并使用该唯一标识,来恢复到上一次提交的状态:
    $ git revert master 2e99fb8
    [master 6e2ec95] Revert "test revert"
     1 file changed, 1 deletion(-)
    
    $ cat hello.txt
    123
    456
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    然后来看一下 git 日志,检查撤销操作有没有反映在日志中。

    $ git log
    commit 6e2ec954f69ca731a9121182afeca52eaf7213a5 (HEAD -> master)
    Author: zyn .com>
    Date:   Fri Oct 20 22:56:27 2023 +0800
    
        Revert "test revert"
    
        This reverts commit 2e99fb876b98962cff05715c69f8ee11403da5d0.
    
    commit 2e99fb876b98962cff05715c69f8ee11403da5d0
    Author: zyn .com>
    Date:   Fri Oct 20 22:55:54 2023 +0800
    
        test revert
    
    commit 14cf74cf24898c8b5852d7fd6e639290ad30575b
    Author: zyn .com>
    Date:   Fri Oct 20 22:55:03 2023 +0800
    
        init
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 实操案例2:删除提交

      $ cat hello.txt
      123
      456
      
      首先更改一个文件:
      $ vim hello.txt
      
      $ cat hello.txt
      123
      456
      zhangzhangzhang
      然后提交:
      $ 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
      
      $ git commit -m "test reset"
      [master 15ef403] test reset
       1 file changed, 1 insertion(+)
      
      然后使用 git reset 命令来撤销这次提交:
      $ git reset --soft HEAD~1
      
      接下来看下 git 日志:上次提交(提交文本 test reset)已经不见了。
      由此可见,这个提交被完全被删除了,因为我将 HEAD 指向移动到了最后一个引用(用HEAD~1表示)。
      $ git log
      commit 3eda403b2f2d650acec8c8234281918966b74b1e (HEAD -> master)
      Author: zyn .com>
      Date:   Fri Oct 20 23:21:00 2023 +0800
      
          init
      
      $ git reflog
      3eda403 (HEAD -> master) HEAD@{0}: reset: moving to HEAD~1
      15ef403 HEAD@{1}: commit: test reset
      3eda403 (HEAD -> master) HEAD@{2}: commit (initial): init
      
      这个删除操作并没有影响到我们的工作文件.可通过git restore 恢复到修改前的内容
      --soft 标志表示在运行 git reset 的时候修改的是 git 保存的日志。
      $ cat hello.txt
      123
      456
      zhangzhangzhang
      
      $ git status
      On branch master
      Changes to be committed:
        (use "git restore --staged ..." to unstage)
              modified:   hello.txt
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23
      • 24
      • 25
      • 26
      • 27
      • 28
      • 29
      • 30
      • 31
      • 32
      • 33
      • 34
      • 35
      • 36
      • 37
      • 38
      • 39
      • 40
      • 41
      • 42
      • 43
      • 44
      • 45
      • 46
      • 47
      • 48
      • 49

      如果想要将 git 存储库中的内容恢复到先前的状态,可使用 --hard 标志(不过要谨慎使用,确保需要的文件做好备份)。

    1.8、取消暂存文件

    在使用Git进行版本控制时,我们经常需要将文件添加到暂存区(stage)以便提交更改。但有时候我们可能会错误地将文件添加到暂存区,或者改变了对文件的修改意图,这时候我们需要取消暂存并将文件从暂存区移除。本文将详细介绍如何在Git中取消暂存文件的方法,以帮助您管理版本控制过程中的文件更改。

    1. 取消暂存单个文件

      如果只需要取消暂存单个文件,可以使用以下命令:

      git restore --staged <文件名>
      
      • 1

      替换<文件名>为要取消暂存的文件名。执行该命令后,Git将会将文件从暂存区移除,但保留对文件的修改。

    2. 取消暂存多个文件

      如果需要取消暂存多个文件,可以使用以下命令:

      git restore --staged <文件1> <文件2> ...
      
      • 1

      替换<文件1> <文件2> …为要取消暂存的文件列表,用空格分隔每个文件名。

    3. 取消所有暂存文件

      如果需要一次性取消所有暂存文件,可以使用以下命令:

      git restore --staged .
      
      • 1

    执行该命令后,Git将会将所有暂存文件移除,但保留对文件的修改

    1. 取消暂存的同时撤销修改

      有时候我们希望取消暂存的同时也撤销对文件的修改,将文件恢复到上一次提交的状态。可以使用以下命令:

      git restore <文件名>
      
      • 1

      替换<文件名>为要取消暂存和撤销修改的文件名。执行该命令后,Git将会将文件从暂存区移除,并且撤销对文件的修改。

    2. 撤销所有修改

      如果希望一次性撤销所有暂存文件的修改,并将它们恢复到上一次提交的状态,可以使用以下命令:

      git restore .
      
      • 1

      执行该命令后,Git将会将所有暂存文件移除,并且撤销对这些文件的修改。

    总结

    取消暂存文件后,可以再次使用git status命令确认文件的状态是否已正确更新。取消暂存的文件应该不再显示在暂存区中,且状态应该被修改为"未暂存的更改"。

    在Git中,取消暂存文件是一个常见的操作,用于纠正错误的暂存或更改修改意图。通过使用git restore命令,我们可以轻松地取消暂存单个或多个文件,甚至可以撤销对文件的修改。

    通过熟练掌握这些命令可以更好地管理Git中的文件更改和版本控制。在取消暂存文件时,请确保了解要取消暂存的文件和其相关修改的影响,并在确认操作之前进行适当的代码审查。

    2、分支操作

    在版本控制过程中,同时推进多个任务

    在这里插入图片描述

    • 分支的好处

    同时并行推进多个功能开发,提高开发效率;

    各个分支在开发过程中,如果某一个分支开发失败,不会对其他分支有任何影响。失败的分支删除重新开始即可。

    • 分支操作常用命令
    命令名称作用
    git branch 分支名创建分支
    git branch -v查看分支
    git checkout 分支名切换分支
    git merge 分支名把指定的分支合并到当前分支上

    2.1、查看分支

    • 基本语法
    git branch -v
    
    • 1

    在这里插入图片描述

    (*代表当前所在的分区)

    2.2、创建分支

    • 基本语法
    git branch 分支名
    
    • 1
    • 案例实操
    git branch hot-fix
    git branch -v
    
    • 1
    • 2

    在这里插入图片描述

    2.3、分支合并时产生冲突

    在两个不同分支分别做不同修改操作

    1. 在master分支修改内容
    --在maste分支上做修改
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ vim hello.txt
    --提交到暂存区
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ git add hello.txt
    --提交到本地库
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ git commit -m "forth main"
    [master e427b0c] forth main
     1 file changed, 1 insertion(+)
    --查看分支
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ git branch -v
      hot-fix 2b5e6fe first modified
    * master  e427b0c forth main
    --查看master分支上的文件内容
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ cat hello.txt
    123
    4567
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    1. 切换分支到hot-fix分支并进行修改
    • 基本语法
    git checkout 分支名称
    
    • 1
    • 案例实操
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ git checkout hot-fix
    Switched to branch 'hot-fix'
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (hot-fix)
    $ git branch -v
    * hot-fix 2b5e6fe first modified
      master  e427b0c forth main
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (hot-fix)
    $ cat hello.txt
    123
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (hot-fix)
    $ vim hello.txt
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (hot-fix)
    $ git add hello.txt
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (hot-fix)
    $ git commit -m "forth hot-fix"
    [hot-fix bca0a5f] forth hot-fix
     1 file changed, 1 insertion(+)
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (hot-fix)
    $ cat hello.txt
    123
    4568
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    1. 合并分支
    • 基本语法
    git merge 分支名
    
    • 1
    • 案例实操
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (hot-fix)
    $ git checkout master
    Switched to branch 'master'
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (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.
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (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 ..." to mark resolution)
            both modified:   hello.txt
    
    no changes added to commit (use "git add" and/or "git commit -a")
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master|MERGING)
    $ cat hello.txt
    123
    <<<<<<< HEAD
    4567
    =======
    4568
    >>>>>>> hot-fix
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master|MERGING)
    $ vim hello.txt
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master|MERGING)
    $ git add hello.txt
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master|MERGING)
    $ git commit -m "merge hot-fix"
    [master 290d289] merge hot-fix
    --发现后面MERGING消失,变为正常
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ cat hello.txt
    123
    4567
    4568
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    冲突产生的原因:

    如果一个分支的内容是在另一个分支创建时生成的,那么在只修改一个分支相同文件相同位置的内容情况下,合并时将不会产出冲突。因为Git会自动合并简单的冲突。

    合并分支时,两个分支在同一个文件的同一个位置有两套完全不同的修改。Git无法替我们决定使用哪一个。必须人为决定新代码内容。

    冲突的解决:

    1)编辑有冲突的文件,删除特殊符号,决定要使用的内容

    特殊符号:<<<<<<< HEAD=======>>>>>>> hot-fix

    2)添加到暂存区

    3)执行提交(注意:使用git commit命令时不能带文件名

    3、Gitee远程库实操

    在Gitee创建Gitee-Test仓库
    在这里插入图片描述

    远程仓库操作基本命令

    命令名称作用
    git remote -v查看当前所有远程地址别名
    git remote add 别名 远程地址起别名
    git push 别名 分支推送本地分支上的内容到远程仓库
    git clone 远程地址将远程仓库的内容克隆到本地
    git pull 远程库地址别名 远程分支名将远程仓库对于分支最新内容拉下来后与当前本地分支直接合并

    3.1、克隆远程仓库

    • 基本语法
    git clone 远程地址
    
    • 1
    • 案例实操
    git clone https://gitee.com/zhangyaning666/gitee-test.git
    
    • 1

    clone会做如下操作:

    1、拉取代码。2、初始化本地仓库。3、创建别名

    3.2、创建远程仓库别名

    • 基本语法
    #查看当前所有远程地址别名
    git remote -v 
    #为远程仓库创建别名
    git remote add 别名 远程地址
    
    • 1
    • 2
    • 3
    • 4
    • 案例实操
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ git remote -v
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ git remote add ori https://gitee.com/zhangyaning666/gitee-test.git
    
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹 (master)
    $ git remote -v
    ori     https://gitee.com/zhangyaning666/gitee-test.git (fetch)
    ori     https://gitee.com/zhangyaning666/gitee-test.git (push)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    3.3、推送本地分支上的内容到远程仓库

    • 基本语法
    git push 别名 分支
    
    • 1
    • 案例实操
    SM2881@SMSHA1PF3DZPEC MINGW64 /f/测试文件夹/gitee-test (master)
    $ git push ori
    Enumerating objects: 4, done.
    Counting objects: 100% (4/4), done.
    Delta compression using up to 8 threads
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 316 bytes | 316.00 KiB/s, done.
    Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
    remote: Powered by GITEE.COM [GNK-6.4]
    To https://gitee.com/zhangyaning666/gitee-test.git
       5ab2247..1df7b38  master -> master
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    在git中,“push -f”的意思是“强制更新”,是“push -force”的缩写,该命令的作用是将自己本地仓库的代码直接推送至仓库,完全以该命令提交为准,之前提交都会被覆盖。远程仓库中之前的版本记录也会被清除,慎用。

    3.4、拉取远程库内容

    • 基本语法
    git pull 远程库地址别名 远程分支名
    
    • 1
    • 案例实操
    git pull ori master
    
    • 1

    4、跨团队协作-Fork应用

    1)将远程仓库的地址复制发给邀请跨团队协作的人。
    在这里插入图片描述

    2)在zhang real的Gitee账号里的地址栏复制收到的链接,然后点击Fork将项目叉到自己的本地仓库。
    在这里插入图片描述

    fork成功后可以看到当前仓库信息。

    在这里插入图片描述

    3)zhang real就可以在线编辑叉取过来的文件。

    在这里插入图片描述

    4)编辑完毕后,填写描述信息并点击左下角绿色按钮提交。

    在这里插入图片描述

    5)接下来点击上方的Pull请求,并创建一个新的请求。

    在这里插入图片描述在这里插入图片描述

    6)回到“时光”Gitee账号可以看到有一个Pull request请求。
    在这里插入图片描述

    进入到聊天室,可以讨论代码相关内容。。。

    7)如果代码没有问题,可以合并代码。

    在这里插入图片描述在这里插入图片描述

    5、SSH免密登录

    我们可以看到远程仓库中还有一个SSH的地址,因此我们也可以使用SSH进行访问。

    具体操作如下:

    
    $ git init
    
    Initialized empty Git repository in F:/笔记/14.Git/1.笔记/Git-SSH/.git/
    
    $ git config user.name
    zyn
    
    $ git config user.email
    zyn@qq.com
    
    $ cd .git/
    HEAD         description  info/        refs/
    config       hooks/       objects/
    
    --进入当前用户的家目录
    $ cd
    
    $ pwd
    /c/Users/10420
    --删除.ssh目录
    $ rm -rvf .ssh
    removed '.ssh/id_rsa'
    removed '.ssh/id_rsa.pub'
    removed '.ssh/known_hosts'
    removed '.ssh/known_hosts.old'
    removed directory '.ssh'
    
    --运行命令生成.ssh秘钥目录[注意:这里-C这个参数是大写的C]
    $ ssh-keygen -t rsa -C zhangyaning666
    Generating public/private rsa key pair.
    Enter file in which to save the key (/c/Users/10420/.ssh/id_rsa):
    Created directory '/c/Users/10420/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /c/Users/10420/.ssh/id_rsa
    Your public key has been saved in /c/Users/10420/.ssh/id_rsa.pub
    The key fingerprint is:
    SHA256:BBb98gotyTriimE4bkBRtYe6esC4blmiWjRa+eNZWxY zhangyaning666
    The key's randomart image is:
    +---[RSA 3072]----+
    |  ....+o         |
    | .   .o..        |
    |  .  o ...       |
    | . .. ... .      |
    |+ =. . oEo       |
    |+B +. = ...      |
    |Bo*.o..oo.       |
    |*Booo+ +.        |
    |O*o.o..          |
    +----[SHA256]-----+
    --进入.ssh目录查看文件列表
    $ cd .ssh
    
    $ ll -a
    total 37
    drwxr-xr-x 1 10420 197609    0 Oct 19 22:17 ./
    drwxr-xr-x 1 10420 197609    0 Oct 19 22:17 ../
    -rw-r--r-- 1 10420 197609 2602 Oct 19 22:17 id_rsa
    -rw-r--r-- 1 10420 197609  568 Oct 19 22:17 id_rsa.pub
    --查看id_rsa.pub文件内容
    $ cat id_rsa.pub
    ssh-rsa *****
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64

    复制id_rsa.pub文件内容,登录Gitee,点击用户头像→设置→SSH公钥
    在这里插入图片描述
    接下来再往远程仓库push东西的时候使用SSH连接就不需要登录了。

    6、IDEA中使用Git本地仓库

    6.1、Git忽略文件

    1)Eclipse特定文件

    在这里插入图片描述

    2)IDEA特定文件

    在这里插入图片描述

    3)Maven工程的target目录

    在这里插入图片描述

    问题1:为什么要忽略他们?

    与项目的实际功能无关,不参与服务器上部署运行。把它们忽略掉能够屏蔽IDE工具之间的差异。
    问题2:怎么忽略?

    1. 创建忽略规则文件xxxx.ignore(前缀名随便起)
      这个文件的存放位置原则上在哪里都可以,为了便于让~/.gitconfig文件引用,建议也放在用户家目录下

    xxxx.ignore文件内容如下:

    # Compiled class file
    *.class
    
    # Log file
    *.log
    
    # BlueJ files
    *.ctxt
    
    # Mobile Tools for Java (J2ME)
    .mtj.tmp/
    
    # Package Files #
    *.jar
    *.war
    *.nar
    *.ear
    *.zip
    *.tar.gz
    *.rar
    
    # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
    hs_err_pid*
    
    .classpath
    .project
    .settings
    target
    .idea
    *.iml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    1. 在.gitconfig文件中引用忽略配置文件(此文件在Windows的家目录中)
    [user]
    	name = zyn
    	email = zyn@qq.com
    [core]
    	excludesfile = C:/Users/10420/hh.ignore
    注意:这里要使用“正斜线(/)”,不要使用“反斜线(\)”
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    6.2、定位Git程序

    在这里插入图片描述

    6.3 初始化本地库

    在这里插入图片描述

    选择要创建Git本地仓库的工程。

    在这里插入图片描述

    6.4 添加到暂存区

    右键点击项目选择Git ->Add将项目添加到暂存区。

    在这里插入图片描述

    6.5 提交到本地库

    在这里插入图片描述

    在这里插入图片描述

    6.6 创建分支

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    6.7 切换分支

    在IDEA窗口的右下角,切换到master分支。

    在这里插入图片描述

    6.8 合并分支

    在IDEA窗口的右下角,将hot-fix分支合并到当前master分支。

    在这里插入图片描述

    6.9 切换版本

    在IDEA的左下角,点击Version Control,然后点击Log查看版本

    在这里插入图片描述

    右键选择要切换的版本,然后在菜单里点击Checkout Revision。

    在这里插入图片描述

    7、IDEA中连接Gitee远程仓库

    7.1 设置Gitee账号

    安装Gitee插件

    在这里插入图片描述

    点击登录。

    在这里插入图片描述

    7.2 分享工程到Gitee

    在这里插入图片描述

    在这里插入图片描述

    来到Gitee中发现已经帮我们创建好了gitTest的远程仓库。

    在这里插入图片描述

    7.3 clone

    在这里插入图片描述

    在这里插入图片描述

    为clone下来的项目创建一个工程,一路Next。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    7.4 push

    右键点击项目,可以将当前分支的内容push到Gitee的远程仓库中。

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    7.5 pull

    右键点击项目,可以将远程仓库的内容pull到本地仓库。

    在这里插入图片描述在这里插入图片描述

    Git学习链接

    Git 大全 - Gitee

  • 相关阅读:
    别再说你不知道分布式事务了
    C# 窗体与子线程数据交互
    团建游戏----做一只小船去漂流
    PyQt5如何在Qtdesigner里修改按钮形状、大小、按钮颜色、字体颜色等参数,尤其是如何将按钮修改成圆形。
    动态内存管理2
    日系简约商务通用PPT模板
    Redisson分布式锁 --- 源码分析
    KAIS 2012 | 在线社交网络中的信息传播:连接强度视角
    yolov7添加注意力机制
    Linux学习笔记之编译相关篇(2)_静态链接与动态链接
  • 原文地址:https://blog.csdn.net/qq_36593748/article/details/133936605