当前位置:   article > 正文

Linux 系统使用 git 提交代码-- git 的安装及使用(简明教学指南)_linux git commit

linux git commit

2023/02/09 晚

鉴于本篇文章收藏量比较多,那就给大家分享点在实际工作中使用频率最高的工作流命令吧。

场景如下(多人共同开发一个项目):我叫小明,参与了一个名为 chatGPT 的项目,这个 AI 最近很火,就以此作为例子吧。我们组有 4 个同事共同开发这个项目 develop_chatgpt ,这个项目中有一些文件或目录是我们 4 个各自独立负责的,也有几个文件我们 4 个人都需要负责。于是组长新建了一个 git 仓库, 为我们 4 个人各自新建了一个分支,我的分支名称就叫  develop_xiao.ming(个人分支),项目分支名称叫 develop_chatgpt ,现在就开始了我们 4 个人往 develop_chatgpt  这个分支中贡献自己的代码的快乐之旅了。

1. git clone <把仓库地址复制到这儿>

2. git branch -a                 /*先看下当前在哪个分支(一般克隆后都在master分支),顺便复制一下要去的分支*/

3. git checkout <自己要去的分支名称,比如组长分配的分支是 develop_xiao.ming >

4. git branch         /*再确认一下确实已经在自己的分支了*/

5. git pull origin <develop_chatgpt>                /*从项目分支拉取最新的代码到个人分支,然后再进行修改,保证每次修改都是修改的最新代码*/

5. 修改代码

6. git status         /*看看自己修改了哪些文件*/

7. git add <修改了的文件名称>

8. git commit -m "任务号 注释说明"

9. git push origin <组长给分配的分支比如是 develop_xiao.ming>

10. 然后在网页上从 develop_xiao.ming 往 develop_chatgpt 提交一个合并请求。

11. 在开发的群中给组长发消息说,我做了什么修改,并且提交了一个合并请求,请审查,然后代码没有问题,组长就会把修改的代码合并到 develop_chatgpt 分支中去了。

到此一个完整的工作流就结束啦~

为什么提交了合并请求后需要向组长发消息呢,为了让组长尽快合并代码,方便其他同事修改代码的时候可以拉取到最新的代码;因为这个项目是我们 4 个人共同开发的,试想一下 4 个人共同修改一个文件,每个人在修改代码前都需要去 git pull 拉取最新的代码,如果不去拉取最新的代码,那就相当于自己一个人在自己的分支玩儿,别人都已经合并了好几次代码了,你还是在好久之前的代码基础上修改,等你想提交合并请求时,会出现合并冲突问题。这些大家慢慢会有体会的。

最后感谢大家的支持。

2024/6/9 更新

问题1:当我(已经git push)提交完代码后,发现提交的不正确,需要撤回提交

1、git log        //查看提交记录

2、git reset HEAD^         //撤回最近的一次提交

3、git log                        //查看确认一下确实撤回成功了

4、git push origin develop_xiao.ming   --force      //将撤回的操作(强制)推送到远程仓库

问题2:代码已经 git push,提交合并请求后组长觉得我的 commit 信息写的不完善。我只要修改 commit 的信息。(严重警告!当代码已经合并到了项目分支后,千万不要使用该方法) 

操作过程:https://www.cnblogs.com/bella99/p/15766188.html

1.git rebase -i HEAD~1 (1代表倒数第一次的commit)

2.按i进入编辑模式,将pick修改为edit,按esc退出编辑模式,输入:wq保存并退出

3.git commit --amend (修改注释) 按i进入编辑模式,修改注释内容,esc退出编辑模式,输入:wq保存并退出

4.git rebase --continue (确认变基)
5.git push --force origin 分支名称 (强制push)

一、安装配置Git

1. 注册 GitHub 账号GitHubGitHub: Where the world builds software · GitHub

2. 在 Linux 中安装 git,并生成授信证书。

开发者向 Git 版本库写入最常用到的协议是SSH协议,因为SSH协议使用公钥认证,可以实现无口令访问,而若使用HTTPS协议每次身份认证时都需要提供口令,即要输入GitHub 的账号和密码。

  1. //第一步:安装git
  2. [root@localhost ~]# yum install git
  3. //第二步:获取ssh密钥,邮箱是注册github时使用的邮箱。(这里的邮箱跟刚才git官网上注册的一致)
  4. [root@localhost ~]# ssh-keygen -t rsa -C "xxxxxx@qq.com"
  5. Generating public/private rsa key pair.
  6. Enter file in which to save the key (/root/.ssh/id_rsa): //输入保存key的文件名,这个随便写,可以写了keyfilename,不写按回车键它会默认创建在 '/root/.ssh' 下。
  7. Created directory '/root/.ssh'.
  8. Enter passphrase (empty for no passphrase): //输入密码,就是你每次提交项目代码时必须要输入密码,不想设置的话,直接按回车到下一步。
  9. Enter same passphrase again: //再次确认密码。
  10. Your identification has been saved in /root/.ssh/id_rsa.
  11. Your public key has been saved in /root/.ssh/id_rsa.pub.
  12. The key fingerprint is:
  13. SHA256:07gnUfb1vX9w9XcU6YZf67x+27usXahJossmu4zwdgS xxxxxx@qq.com
  14. The key's randomart image is:
  15. +---[RSA 2048]----+
  16. | .|
  17. | o |
  18. | o + .|
  19. | E = . o +=|
  20. | . S . . o.B|
  21. | . + .+*|
  22. | . . o o . +++|
  23. | o.oo..+ o ooo*|
  24. | .o.+=+. o.oOX|
  25. +----[SHA256]-----+
  26. [root@localhost ~]# //到这里就成功啦~
  27. [root@localhost ~]# git version //验证一下是否安装成功。
  28. git version 1.8.3.1
  29. [root@localhost ~]# cd /root/.ssh/
  30. [root@localhost .ssh]# ls
  31. id_rsa id_rsa.pub
  32. //可以看到生成了一个私钥(id_rsa)和公钥(id_rsa.pub)
  33. [root@localhost .ssh]# vi id_rsa.pub //打开公钥文件进行复制。

3. 建立和 GitHub 的联系。将 Git 证书配置到 GitHub上,保证 Linux 服务器和 GitHub 之间可以连通。

打开 id_rsa.pub 文件,将里面的所有字符 全部复制 出来,粘贴到如下图所示的地方。

点击 github 网页右上角的用户头像->settings->SSH and GPG keys->New SSH key 

应用场景:需要注意的是,github允许添加多个SSH Keys,假定我们有自己的笔记本和实验室/办公室的电脑,需要将每台电脑的key添加到github,然后可以使用每台电脑往github推送了。

4. 验证是否配置成功。

在 Linux 中执行此命令:ssh git@github.com

看到 You've successfully authenticated,表示配置成功!

  1. //最后一步验证是否配置成功。
  2. [root@localhost .ssh]# ssh git@github.com //执行此命令
  3. The authenticity of host 'github.com (20.205.243.166)' can't be established.
  4. Are you sure you want to continue connecting (yes/no)? y
  5. Please type 'yes' or 'no': yes
  6. Warning: Permanently added 'github.com,20.205.243.166' (ECDSA) to the list of known hosts.
  7. PTY allocation request failed on channel 0
  8. Hi Username! You've successfully authenticated, but GitHub does not provide shell access.
  9. Connection to github.com closed.
  10. [root@localhost .ssh]#

5. 连接成功后,需要绑定用户。

如果让当前电脑的所有git操作均使用同一个git账户,该配置只需要做一次之后Linux主机上所有git管理项目生效::
git config --global user.name "xxxxx"
git config --global user.email "xxx@xxx"

主要注意一个问题,因为git是分布式版本控制系统,所以首次安装的时候都会让机器自报家门,(邮箱+名字)这里的邮箱和名字需要你在github官网(www.github.com)上注册你账号信息,为什么要这样做呢?因为你的代码是要联机上传到github代码托管平台上去的,联机操作下文会详说。(当然,如果你不打算联机操作,那么这个邮箱+名字,你可以随意)。

如果想为每个项目单独配置不同的git用户,在每个项目的主目录下执行:
git config user.name "xxxxx"
git config user.email "xxx@xxx"

  1. [root@localhost git_space]# git config --global user.name "******"
  2. [root@localhost git_space]# git config --global user.email "********@***.com"

ps git config  –global 参数,有了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然你也可以对某个仓库指定的不同的用户名和邮箱。

二、使用 Git 提交项目文件

分两小节,内容概要:

1. 从本地新建项目,提交上传至 GitHub 。

  • 如果你有一个尚未进行版本控制的项目目录,想要用 Git 来控制它,那么首先需要进入该项目目录中。将尚未进行版本控制的本地目录转换为 Git 仓库;即执行 git init 初始化命令。
$ git init

该命令将创建一个名为 .git 的子目录,这个子目录含有你初始化的 Git 仓库中所有的必须文件,这些文件是 Git 仓库的骨干。

2. 从 GitHub 上 Clone一个仓库,修改并上传至原仓库。比如说项目组长已经给你创建好仓库和你的分支了,然后你需要提交代码了,这时候就需要克隆了。

如果你想获得一份已经存在了的 Git 仓库的拷贝,比如说,你想为某个开源项目贡献自己的一份力,这时就要用到 git clone 命令。 如果你对其它的 VCS 系统(比如说 Subversion)很熟悉,请留心一下你所使用的命令是"clone"而不是"checkout"。 这是 Git 区别于其它版本控制系统的一个重要特性,Git 克隆的是该 Git 仓库服务器上的几乎所有数据,而不是仅仅复制完成你的工作所需要文件。 当你执行 git clone 命令的时候,默认配置下远程 Git 仓库中的每一个文件的每一个版本都将被拉取下来。 事实上,如果你的服务器的磁盘坏掉了,你通常可以使用任何一个克隆下来的用户端来重建服务器上的仓库 (虽然可能会丢失某些服务器端的钩子(hook)设置,但是所有版本的数据仍在,详见 在服务器上搭建 Git )。

克隆仓库的命令是 git clone <url> 。 比如,要克隆 Git 的链接库 libgit2,可以用下面的命令:

$ git clone https://github.com/libgit2/libgit2

这会在当前目录下创建一个名为 “libgit2” 的目录,并在这个目录下初始化一个 .git 文件夹, 从远程仓库拉取下所有数据放入 .git 文件夹,然后从中读取最新版本的文件的拷贝。 如果你进入到这个新建的 libgit2 文件夹,你会发现所有的项目文件已经在里面了,准备就绪等待后续的开发和使用。

如果你想在克隆远程仓库的时候,自定义本地仓库的名字,你可以通过额外的参数指定新的目录名:

$ git clone https://github.com/libgit2/libgit2 mylibgit

这会执行与上一条命令相同的操作,但目标目录名变为了 mylibgit

复制自:Git - 获取 Git 仓库 (git-scm.com)

2.1 从本地新建项目,提交上传至 GitHub 。

        (1) 在 Linux 本地中新建一个工作目录,作为远程目录的本地副本。

  1. //步骤
  2. [root@localhost ~]# mkdir git_space
  3. [root@localhost ~]# cd git_space/
  4. [root@localhost git_space]# git init //把这个目录变成 Git可以管理的仓库
  5. Initialized empty Git repository in /root/git_space/.git/
  6. [root@localhost git_space]# cp ../workspace/callback_example_2/ ./ -r //将自己写的项目文件复制到本地 git 副本目录下。
  7. [root@localhost git_space]# ls
  8. callback_example_2
  9. [root@localhost git_space]# git add callback_example_2 //git add 后可以跟单个文件、目录。
  10. [root@localhost git_space]# git status //查看当前工作区的状态(需提交的变更文件)。
  11. # On branch master
  12. #
  13. # Initial commit
  14. #
  15. # Changes to be committed:
  16. # (use "git rm --cached <file>..." to unstage)
  17. #
  18. # new file: callback_example_2/bin/Makefile
  19. # new file: callback_example_2/bin/Makefile_bak
  20. # new file: callback_example_2/bin/main.c
  21. # new file: callback_example_2/bin/notice_wake_app.1.0.0.1
  22. # new file: callback_example_2/include/libnotice_wake.h
  23. # new file: callback_example_2/lib/libnotice_wake.so
  24. # new file: callback_example_2/src/Makefile
  25. # new file: callback_example_2/src/libnotice_wake.c
  26. # new file: callback_example_2/src/libnotice_wake.h
  27. #
  28. //提交到本地git仓库
  29. [root@localhost git_space]# git commit -m "新建项目"
  30. [master (root-commit) d5cddc1] 新建项目
  31. Committer: root <root@localhost.localdomain>
  32. 9 files changed, 221 insertions(+)
  33. create mode 100644 callback_example_2/bin/Makefile
  34. create mode 100644 callback_example_2/bin/Makefile_bak
  35. create mode 100644 callback_example_2/bin/main.c
  36. create mode 100755 callback_example_2/bin/notice_wake_app.1.0.0.1
  37. create mode 100644 callback_example_2/include/libnotice_wake.h
  38. create mode 100755 callback_example_2/lib/libnotice_wake.so
  39. create mode 100644 callback_example_2/src/Makefile
  40. create mode 100644 callback_example_2/src/libnotice_wake.c
  41. create mode 100644 callback_example_2/src/libnotice_wake.h
  42. [root@localhost git_space]#

       (2) 在 GitHub 中创建远程仓库。

首先新建一个仓库。

仓库地址使用 SSH 协议,如果用https地址每次push/pull都要输入github账号密码。

创建远程仓库成功后界面如下:

将上图的命令复制下执行。

关联到远程仓库。

  1. //关联远程仓库
  2. [root@localhost git_space]# git remote add origin git@github.com:******/studyspace.git
  3. //将本地库内容推送到远程仓库
  4. [root@localhost git_space]# git push -u origin master
  5. Counting objects: 15, done.
  6. Delta compression using up to 3 threads.
  7. Compressing objects: 100% (12/12), done.
  8. Writing objects: 100% (15/15), 10.57 KiB | 0 bytes/s, done.
  9. Total 15 (delta 0), reused 0 (delta 0)
  10. To git@github.com:******/studyspace.git
  11. * [new branch] master -> master
  12. Branch master set up to track remote branch master from origin.
  13. [root@localhost git_space]#

使用 SSH 协议,我在 push 过程中就没有输任何账号和密码。 

此时 你在刷新你github上的项目就可以看到文件已经上传了。

至此,从零完成了从本地新建项目提交至 GitHub。

为啥添加过程不能用一条git commit命令来完成呢,这儿涉及一个工作区和暂存区的概念。工作区是电脑能看到的目录,比如learngit文件夹是一个工作区(如下图左所示)。在learngit文件夹有个隐藏目录.git,不属于工作区,而是git的版本库,版本库中重要的两部分是暂存区(下图中),和创建的第一个分区master(下图右)。

2.2  从 github 上 clone一个仓库,修改并上传至原仓库。

如果从零开发,最好的方式是先创建远程库(和前面创建远程库的操作一样),然后从远程库克隆。

第一步我们在 Linux 本地创建一个目录,比叫目录名叫 “git_study”。

  • 从 github上 clone 代码

我们在 git_study 目录下执行:git clone git@github.com:用户名/项目名.git 命令。

可能会报如下错误:意思是说你克隆了一个空的仓库。

  1. [root@localhost git_study]# git clone git@github.com:用户名/项目名.git
  2. Cloning into 'packet_process'...
  3. warning: You appear to have cloned an empty repository.
  4. [root@localhost git_study]# ls
  5. 项目名
  6. [root@localhost git_study]#

需要说明的是,我们先创建远程库(该远程库是空的,没有任何文件),然后直接在 Linux 上克隆该远程库后,不需要再执行该工作区目录的初始化命令 git init  和 关联远程库的命令的:git remote add origin git@github.com:******/studyspace.git ,然后我们就可以直接执行git add,git commit,git push 等命令了。 

实际上,git clone 命令在执行时,已经将该项目目录和 GitHub 上的远程仓库建立了关联。

现在我们要在 Linux 本地写代码了,写完了,我们要提交到 GitHub 的仓库上。

  • 先将我们新写的代码文件添加到本地暂存区。

git add 文件名         #表示将文件加入本地暂存区

git add . #表示将当前文件夹下所有文件添加至暂存区

  • 确认提交更改。

git commit -m "提交的更改说明"

  • 将本地库内容推送到远程仓库github。输入下述命令,输入命令之后,按照提示输入github的用户名和密码即可。

git push origion "分支用户名"                //将本地主分支推到支远程主分。

如果想撤回add或commit,参考链接1 参考链接2

假如你想丢弃你在本地的所有改动与提交,可以到服务器上获取最新的版本历史,并覆盖本地文件:
git fetch origin
git reset --hard origin/master

常见场景:

准备工作:我们先创建一个文件 main.c。

  1. [root@localhost packet_process]# ls
  2. main.c README
  3. [root@localhost packet_process]# cat main.c
  4. #include <stdio.h>
  5. int main()
  6. {
  7. printf("hello word! \n");
  8. return 0;
  9. }
  10. [root@localhost packet_process]#

0 . 如果想要删除某个文件
        git rm filename (同时会删除本地文件)

1. 从暂存区撤离将要提交的文件

给定一个这样的场景,你讲一个文件修改完毕后,将它添加到暂存区,以便将来提交,但是你突然觉得还有东西没有改好,那只能把文件从暂存区撤回。

git reset HEAD 文件名                         //将暂存区的文件撤回

-----------------------------------------------------------详细说明-------------------------------------------------------------

1. git add 添加 多余文件
这样的错误是由于, 有的时候 可能

git add . (空格+ 点) 表示当前目录所有文件,不小心就会提交其他文件

git add 如果添加了错误的文件的话

撤销操作

git status 先看一下add 中的文件
git reset HEAD 如果后面什么都不跟的话 就是上一次add 里面的全部撤销了
git reset HEAD XXX/XXX/XXX.c 就是对某个文件进行撤销了

实践环节 :

  1. [root@localhost packet_process]# git status //先看下有啥变更,说有一个未追踪的文件main.c。需要使用 git add 去追踪它。
  2. # On branch master
  3. # Untracked files:
  4. # (use "git add <file>..." to include in what will be committed)
  5. #
  6. # main.c
  7. nothing added to commit but untracked files present (use "git add" to track)
  8. [root@localhost packet_process]#
  9. [root@localhost packet_process]# git add main.c //git add 将 main.c 添加到暂存区。
  10. [root@localhost packet_process]# git status //再看一下状态有啥变化,提示有一个新文件。
  11. # On branch master
  12. # Changes to be committed:
  13. # (use "git reset HEAD <file>..." to unstage)
  14. #
  15. # new file: main.c
  16. #
  17. [root@localhost packet_process]# git reset HEAD main.c //从暂存区中撤销出来。
  18. [root@localhost packet_process]# git status //再看下状态,和未添加到暂存区时的状态一样了。
  19. # On branch master
  20. # Untracked files:
  21. # (use "git add <file>..." to include in what will be committed)
  22. #
  23. # main.c
  24. nothing added to commit but untracked files present (use "git add" to track)
  25. [root@localhost packet_process]#

2. git commit 错误,没有 push 时。

如果不小心 弄错了 git add后 , 又 git commit 了。
先使用
git log 查看节点
commit xxxxxxxxxxxxxxxxxxxxxxxxxx
Merge:
Author:
Date:

然后 git reset commit_id (回退到上一个 提交的节点 代码还是原来你修改了的)。

直接查看该链接,讲的很好:git如何撤销commit的方法(未push)_相关技巧_脚本之家 (jb51.net)

说明:还没有 push 的时候

  • git reset commit_id (回退到上一个 提交的节点 代码还是原来你修改的)。
  • git reset –hard commit_id (回退到上一个commit节点, 代码也发生了改变,变成上一次的)。
  • git reset 命令分为两种: git reset –-soft 与 git reset –-hard ,区别是:

       前者表示只是改变了HEAD的指向,本地代码不会变化,我们使用git status依然可以看到,同时也可以git commit提交。后者直接回改变本地源码,不仅仅指向变化了,代码也回到了那个版本时的代码。--soft选项的意思是,保留当前工作区,以便于我们修改完之后重新提交。如果采用--hard,那么会还原到对应的版本,我们就不能达成“撤销提交,修改一点点之后重新提交并推送”的目的了。

3.如果要是 提交了以后,可以使用 git revert

当然,我们一般的使用时,如果已经push了,使用revert,如果没有,就是用reset。(25条消息) git reset 和 revert 的区别_Ardor-Zhang的博客-CSDN博客_git reset revert区别

还原已经提交的修改
此次操作之前和之后的 commit 和 history 都会保留,并且把这次撤销作为一次最新的提交。

git revert HEAD                 //撤销前一次 commit
git revert HEAD^                  //撤销前前一次 commit,^代表上一个的意思,HEAD^^代表上两个;HEAD~100代表上100个版本,
git revert commit-id                 //(撤销指定的版本,撤销也会作为一次提交进行保存)
git revert 是提交一个新的版本,将需要 revert 的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容。

复制来源:(25条消息) git add , git commit 添加错文件 撤销_空白的泡的博客-CSDN博客_git撤销add的文件

1. 以下载 cJSON 开源项目为例。

复制下图红色方框的内容: git@github.com:DaveGamble/cJSON.git 

  1. [root@localhost git_space]# git clone git@github.com:DaveGamble/cJSON.git
  2. Cloning into 'cJSON'...
  3. remote: Enumerating objects: 4545, done.
  4. remote: Counting objects: 100% (59/59), done.
  5. remote: Compressing objects: 100% (45/45), done.
  6. remote: Total 4545 (delta 29), reused 30 (delta 14), pack-reused 4486
  7. Receiving objects: 100% (4545/4545), 2.50 MiB | 886.00 KiB/s, done.
  8. Resolving deltas: 100% (3014/3014), done.
  9. [root@localhost git_space]# ls
  10. callback_example_2 cJSON
  11. [root@localhost git_space]# cd c
  12. callback_example_2/ cJSON/
  13. [root@localhost git_space]# cd cJSON/
  14. [root@localhost cJSON]# ls
  15. appveyor.yml cJSON.c cJSON_Utils.c CMakeLists.txt fuzzing LICENSE README.md tests
  16. CHANGELOG.md cJSON.h cJSON_Utils.h CONTRIBUTORS.md library_config Makefile test.c valgrind.supp
  17. [root@localhost cJSON]#

问题:

如果没有配置 git 的用户信息,直接去 commit 会有如下提示信息,此时我们用下列两个命令配置就好了。

git config --global user.name "Your Name"
git config --global user.email you@example.com

  1. [root@localhost git_space]# git commit -m "新建项目"
  2. [master (root-commit) d5cddc1] 新建项目
  3. Committer: root <root@localhost.localdomain>
  4. Your name and email address were configured automatically based
  5. on your username and hostname. Please check that they are accurate.
  6. You can suppress this message by setting them explicitly:
  7. git config --global user.name "Your Name"
  8. git config --global user.email you@example.com
  9. After doing this, you may fix the identity used for this commit with:
  10. git commit --amend --reset-author
  11. //以上内容的翻译:
  12. 提交者:root <root@localhost.localdomain>
  13. 您的姓名和电子邮件地址是根据自动配置的
  14. 在您的用户名和主机名上。 请检查它们是否准确。
  15. 您可以通过明确地设置来确定此信息:
  16. git config --global user.name "你的名字"
  17. git config --global user.email you@example.com
  18. 完成此操作后,您可以通过以下方式修复用于此提交的身份:
  19. git commit --amend --reset-author

参考资料:

1. (23条消息) Linux下使用Git教程(一)_大道之简的博客-CSDN博客_linux下使用giticon-default.png?t=N7T8https://blog.csdn.net/HcJsJqJSSM/article/details/82941340

*2. 超全,有例子演示,强烈推荐,有常用的命令。(23条消息) Linux 下git的使用总结(详解)_weixin_41521306的博客-CSDN博客_linux下git的使用icon-default.png?t=N7T8https://blog.csdn.net/weixin_41521306/article/details/98513985?spm=1001.2101.3001.6650.6&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-6.pc_relevant_paycolumn_v3&utm_relevant_index=13

 3. Git 中文手册。Git Community Book 中文版icon-default.png?t=N7T8http://gitbook.liuhui998.com

4. 基本命令,可查。Git教程 - 廖雪峰的官方网站 (liaoxuefeng.com)icon-default.png?t=N7T8https://www.liaoxuefeng.com/wiki/896043488029600 5. git命令,可查。Github 简明教程 | 菜鸟教程 (runoob.com)icon-default.png?t=N7T8https://www.runoob.com/w3cnote/git-guide.html

6. git 指南,可查手册。Git - 获取 Git 仓库 (git-scm.com)icon-default.png?t=N7T8https://git-scm.com/book/zh/v2/Git-%E5%9F%BA%E7%A1%80-%E8%8E%B7%E5%8F%96-Git-%E4%BB%93%E5%BA%93

7. 清晰(25条消息) [使用教程] 在linux中使用git_ok_kakaka的博客-CSDN博客_linux使用giticon-default.png?t=N7T8https://gamma.blog.csdn.net/article/details/84242557?spm=1001.2101.3001.6650.18&utm_medium=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~BlogCommendFromBaidu~Rate-18.pc_relevant_paycolumn_v3&utm_relevant_index=25

8. 简明(25条消息) linux使用git上传项目到github_疯跑蜗牛的博客-CSDN博客_linux上传giticon-default.png?t=N7T8https://blog.csdn.net/hxf0663/article/details/79527453?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_aa&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2~default~CTRLIST~Rate-1.pc_relevant_aa&utm_relevant_index=1

Git 优秀教程推荐
1.git - the simple guide - no deep shit! (rogerdudler.github.io)          [图形化模式,简单易懂]
2.图解Git (marklodato.github.io)                 [一样是图形化教程]
4.521xueweihan/git-tips: Git的奇技淫巧 (github.com)       [制作的思维导图非常棒]

5.一个小时学会Git - 张果 - 博客园 (cnblogs.com)


优秀教程参考:Git 详细安装教程(详解 Git 安装过程的每一个步骤)_mukes的博客-CSDN博客_git安装

 END......

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/天景科技苑/article/detail/743894
推荐阅读
相关标签
  

闽ICP备14008679号