用 git 和 gitee管理你的代码

这篇具有很好参考价值的文章主要介绍了用 git 和 gitee管理你的代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

----------------------------------------------------------------------------------------------------
-----------------写在前面的准备工作-------------------------------------------
-----------------------------------------------------------------------------------------------------
如果你还没有安装git,请下载安装,百度一下 Git 安装与使用,很多教程。
下载下来,然后 下一步 下一步就安装完了。很简单。

说明一下 Git 和 gitee 是两个不同的东西。
你可以这样简单理解,git是管本地的代码, gitee是一个云代码存储器。
本人也是菜鸟,有错误大家指正。

本人也是菜鸟,有错误大家指正。

本人也是菜鸟,有错误大家指正。


----------------------------------------------------------------------------------------------------
-----------------Git 全局设置-------------------------------------------
-----------------------------------------------------------------------------------------------------
git config --global user.name"gitee的账户名'
------如果你用github,是github的账户名。我没用过github配置过
git config --global user.email "13xxxxxxxx@139.com'
------这个是gitee绑定的邮箱,登录你的gitee,查一个人资料能看到。

----------------------------------------------------------------------------------------------------
-----------------从git init 到 新建文件 后 push-------------------------------------------
-----------------------------------------------------------------------------------------------------
一,初始化
git init

二,创建一个远程仓库, 这个意思容易误会。实际是在本地创建一变量,指向仓库的地址。 相当于给 远程仓库地址起个别名。
git remote add origin https://gitee.com/tomatoiot/git-test.git
----在本地创建一个 origin的仓库变量名。这个变量指向 gitee的https://gitee.com/tomatoiot/git-test.git ,这个地址是一个gitee的一个仓库

三,用 git config --list  查看一下配置,可以看到已经将本地的origin绑定了 url 和 fetch

remote.origin.url=https://gitee.com/tomatoiot/git-test.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*

四,绑定 fetch后,下面就用git fetch将远程所有分支取回来。

D:\testd1>git fetch
remote: Enumerating objects: 70, done. 
remote: Counting objects: 100% (70/70), done.
remote: Compressing objects: 100% (56/56), done.
remote: Total 70 (delta 25), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (70/70), 7.41 KiB | 55.00 KiB/s, done.
From https://gitee.com/tomatoiot/git-test
 * [new branch]      dev        -> origin/dev
 * [new branch]      master     -> origin/master

------------这两行代码已经将两个分支取回来本地-----------------------
 * [new branch]      dev        -> origin/dev
 * [new branch]      master     -> origin/master
--------------------------------------------------------------------

五,用git checkout master 切换到指定的分支,自然就将文件加载出来了
 D:\testd1>git checkout master
Already on 'master'
branch 'master' set up to track 'origin/master'.

六,再用 git checkout dev 换到dev 分支试试。
D:\testd1>git checkout dev
Switched to a new branch 'dev'
branch 'dev' set up to track 'origin/dev'.

可以看到,dev 分支的文件也出来了。

七,在dev 分支中 加一个 1-dev-4.txt文件,然后push到 gitee的dev分支上。
1)echo  dev-4 >1-dev-4.txt -----这句的cmd命令,创建一个文件 1-dev-4.txt,内容为:dev-4
2)git add .   ------将所有的变化文件添加到git的本地的暂存区
D:\testd1>git add .
3)用git stauts  查一下暂存区未commit 的内容
D:\testd1>git status
On branch dev
Your branch is up to date with 'origin/dev'.

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   1-dev4.txt
-------------------------这里告诉我们,新加了一个文件 1-dev4.txt, 可用git restore --staged <file>来取消暂存

4)我们执行 git restore试试
D:\testd1>git restore --staged .

D:\testd1>git status
On branch dev
Your branch is up to date with 'origin/dev'.

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        1-dev4.txt

nothing added to commit but untracked files present (use "git add" to track)

可以看到暂存区已经没有东西,用git status查,提示已经变成: git add ,告诉我们用git add将 1-dev4.txt 存到暂存区。
这里要提一下,暂存区的作用,因为 commit 有版本号。暂存区是将每一次的修改,随手就添加到暂存区,然后一次性用 commit 加上版本备注,提交到代码仓库。

5)下面我们再将执行 git add . 将 1-dev4.txt放到暂存区
D:\testd1>git add .

6)git commit -m "new dev-4.txt" ----将暂存区的东西一次性提交到本地仓库。
D:\testd1>git commit -m "new dev-4.txt"
[dev e43a268] new dev-4.txt
 1 file changed, 1 insertion(+)
 create mode 100644 1-dev4.txt

7)我们执行一下 git status,可看到提示,有一个commit 未 push 到远程仓库,即是gitee.
D:\testd1>git status
On branch dev
Your branch is ahead of 'origin/dev' by 1 commit.
  (use "git push" to publish your local commits)

nothing to commit, working tree clean

这个时候,如果我们执行 git push,就会将所有没push的commit更新到gitee了。
但是我暂不做这一步。先演示一下,这个时候,我想后悔了怎么办。

8)用 git cherry -v 查询一下,有多少commit没有push到远程仓库。
D:\testd1>git cherry -v
+ e43a268e60d5dae0a60cdaaa74345c1f77be89d8 new dev-4.txt
可以 看到一个有ID:+ e43a268e60d5dae0a60cdaaa74345c1f77be89d8 的文件没push.

9) 我们也可以 用 git log查看 所有的commit记录,主要用于版本还原,也就是上面说的后悔了怎么办。 
git log 回退到命令行,按【Q】  键。
git log 回退到命令行,按【Q】  键。
git log 回退到命令行,按【Q】  键。

D:\testd1>git log
commit e43a268e60d5dae0a60cdaaa74345c1f77be89d8 (HEAD -> dev)
Author: TomatoIot <13424175115@139.com>
Date:   Sun Jan 21 23:19:44 2024 +0800

    new dev-4.txt

-------------------这只是部分的commit记录。上面这一条就是我们最后一次提交的。
-------------------现在我要后悔,可以用D:\testd1>git reset <commit ID>

commit 64a175af1731f8918e727f419af04a300f41af1d (origin/dev)
Author: TomatoIot <13424175115@139.com>
Date:   Thu Jan 18 12:54:06 2024 +0800

    在dev 第三次提交 修改了1-dev-3的内容

commit 12e7f2ccf73486b146e0d9745a1a7377e9b390ad
Author: TomatoIot <13424175115@139.com>
Date:   Thu Jan 18 12:46:28 2024 +0800

    在dev分支修改1.txt文件,测试下跟master合并同一个文件

10)用git reset <commit ID> 还原commit 和 暂存区,但工作区不变。注意不能用这个: git reset --hard commit ID ,这个会将工作区也还原了。
详细看这个文章:https://blog.csdn.net/weixin_43857653/article/details/130423625
我现在要还原到 new dev-4.txt的上一个commit,
也就是这个ID:64a175af1731f8918e727f419af04a300f41af1d

D:\testd1>git reset 64a175af1731f8918e727f419af04a300f41af1d

11)我们用 git log 和 git cherry -v查一下,名为:new dev-4.txt 的最后一次提交是不是没有了。
D:\testd1>git cherry -v

可以看到是没有返回值,证明没有东西需要 push.

12) 再用git log查一下,看看 
commit e43a268e60d5dae0a60cdaaa74345c1f77be89d8
即 名为:new dev-4.txt 的最后一次提交
还存不存在。

D:\testd1>git log
commit 64a175af1731f8918e727f419af04a300f41af1d (HEAD -> dev, origin/dev)
Author: TomatoIot <13424175115@139.com>
Date:   Thu Jan 18 12:54:06 2024 +0800

    在dev 第三次提交 修改了1-dev-3的内容
-----------------------------可以看到第一条已经变为 64a175af1731f8918e727f419af04a300f41af1d 了。
名为:new dev-4.txt 的最后一次提交   已经没有了。 

commit 12e7f2ccf73486b146e0d9745a1a7377e9b390ad
Author: TomatoIot <13424175115@139.com>
Date:   Thu Jan 18 12:46:28 2024 +0800

    在dev分支修改1.txt文件,测试下跟master合并同一个文件

commit a84e61dbe7c250aa55e3711ad8c36299f08f0fab
Author: TomatoIot <13424175115@139.com>
Date:   Thu Jan 18 12:07:30 2024 +0800

    third commit dev


八,我们重新执行 git add .  和 commit ,   用于测试 还原 暂存区 + 工作区的 不可逆方法: git reset --hard commit ID  ----【慎用,慎用】

D:\testd1>git add .
D:\testd1>git commit -m "new dev-4.txt"


九,执行 git reset --hard commit ID
D:\testd1>git reset --hard 64a175af1731f8918e727f419af04a300f41af1d
HEAD is now at 64a175a 在dev 第三次提交 修改了1-dev-3的内容
--------可以看到工作区的 dev-4.txt文件都不见了

十,执行 git log 查一下 
D:\testd1>git log
commit 64a175af1731f8918e727f419af04a300f41af1d (HEAD -> dev, origin/dev)
Author: TomatoIot <13424175115@139.com>
Date:   Thu Jan 18 12:54:06 2024 +0800

    在dev 第三次提交 修改了1-dev-3的内容
-----------------------------可以看到第一条已经变为 64a175af1731f8918e727f419af04a300f41af1d 了。
名为:new dev-4.txt 的最后一次提交   已经没有了。


commit 12e7f2ccf73486b146e0d9745a1a7377e9b390ad
Author: TomatoIot <13424175115@139.com>
Date:   Thu Jan 18 12:46:28 2024 +0800

    在dev分支修改1.txt文件,测试下跟master合并同一个文件

十一,我们重新执行 echo dev4 > 1-dev4.txt   ,  git add .  和 commit  测试后面的 Push到 gitee

D:\testd1>echo dev4 > 1-dev4.txt
D:\testd1>git add .
D:\testd1>git commit -m "new dev-4.txt"
[dev df1942e] new dev-4.txt
 2 files changed, 1 insertion(+)
 create mode 100644 1-dev4.txt
 create mode 100644 git


十二,执行git push 正式提交代码到远程gitee的仓库。去gitee网页看看,就能看到1-dev4.txt文件了。

D:\testd1>git push
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 286 bytes | 286.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/tomatoiot/git-test.git
   64a175a..df1942e  dev -> dev


创建文件 到 push到远程 gitee仓库完成讲解。


----------------------------------------------------------------------------------------------------
-----------------在本次新建 分支,然后用CMD指令创建gitee的分支,
-----------------并且将本地分支和远程gitee分支绑定 监控变化--------------------
-----------------------------------------------------------------------------------------------------
一,用 git branch <分支名>新建本地分支
D:\testd1>git branch product


二,用git branch 查一下是不是创建成功
D:\testd1>git branch
* dev
  master
  product

这个时候可以 add,可以 commit ,但不能push ,知道为什么吗,因为远程的gitee还没有这个分支。
我们试试 push.

三,切换到 product分支
D:\testd1>git checkout product
Switched to branch 'product'

四:先新建一个文件 echo dev5 > 1-dev5.txt   ----用于测试,并执行 add . 和 commit,都没问题。
D:\testd1>echo dev5 > 1-dev5.txt

D:\testd1>git add .

D:\testd1>git commit -m "new 1-dev5.txtd"
[product c79c9d5] new 1-dev5.txt
 1 file changed, 1 insertion(+)
 create mode 100644 1-dev5.txt


四:执行 add . 和 commit,都没问题,我们试下push,报错。知道为什么吗,因为远程的gitee还没有这个分支。
D:\testd1>git push
fatal: The current branch product has no upstream branch.
To push the current branch and set the remote as upstream, use

    git push --set-upstream origin product

To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.


五,执行git push --set-upstream origin product,建立远程分支,并绑定本地分支,实现监听。同时将所有文件,包括新建的 new 1-dev5.txt都push上去

D:\testd1>git push --set-upstream origin product
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 272 bytes | 272.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
remote: Create a pull request for 'product' on Gitee by visiting:
remote:     https://gitee.com/tomatoiot/git-test/pull/new/tomatoiot:product...tomatoiot:master
To https://gitee.com/tomatoiot/git-test.git
 * [new branch]      product -> product
branch 'product' set up to track 'origin/product'.

六,我们试下再新建一个 product.txt 文件,直接push上去也没问题。
D:\testd1>git add .

D:\testd1>git commit -m "new produtc1.txt"
[product 0675293] new produtc1.txt
 1 file changed, 1 insertion(+)
 create mode 100644 1-product1.txt

D:\testd1>git push
Enumerating objects: 4, done.
Counting objects: 100% (4/4), done.
Delta compression using up to 20 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 280 bytes | 280.00 KiB/s, done.
Total 3 (delta 1), reused 0 (delta 0), pack-reused 0
remote: Powered by GITEE.COM [GNK-6.4]
To https://gitee.com/tomatoiot/git-test.git
   c79c9d5..0675293  product -> product

----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
【git checkout commit ID】下面是介绍 git checkout commit ID,如下。用于试验性修改。暂时没想到用处。

一,执行 git checkout commit ID,如下。用于试验性修改
正在Git的“分离的HEAD”状态。在这种状态下,你不在任何分支上,你的HEAD指针指向一个特定的提交。 
注意:(用checkout commit ID之后,你所在的分支是不属于任何一个分支,必须用checkout <分支名> 重新进入分支)
D:\testd1>git checkout 64a175af1731f8918e727f419af04a300f41af1d
Note: switching to '64a175af1731f8918e727f419af04a300f41af1d'.

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.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 64a175a 在dev 第三次提交 修改了1-dev-3的内容

二,执行 一下 git branch 看一下是不是现在不属于任何分支:
D:\testd1>git branch
* (HEAD detached at 64a175a)
  dev
  master

----------------------你看*号不标在 dev 也不标记在 master上。

三,你正在Git的“分离的HEAD”状态。在这种状态下,你不在任何分支上,你的HEAD指针指向一个特定的提交。

这个状态通常在你直接使用提交的SHA值切换到特定的提交时出现,或者在创建新的分支时也会进入这个状态。

在分离的HEAD状态下,你可以进行一些操作,例如查看文件、进行实验性的更改和提交等。但是,这些提交不会出现在任何分支上,除非你创建一个新的分支来保留这些提交。

如果你想保留这些实验性的更改,并希望将这些更改加入到一个新的分支,你可以使用git switch -c命令创建一个新分支:
git switch -c <new-branch-name>


如果你想返回到之前的分支,可以使用git checkout命令:

四,执行一下 git checkout dev ,回到dev 上。文章来源地址https://www.toymoban.com/news/detail-825475.html

到了这里,关于用 git 和 gitee管理你的代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 使用gitee上传代码报错:git@gitee.com: Permission denied (publickey),如何配置GitEE公钥

    git@gitee.com: Permission denied (publickey). Could not read from remote repository.  Please make sure you have the correct access rights and the repository exists. Permission denied (publickey) 没有权限的publickey(公锁) ,出现这错误一般是以下两种原因: 客户端与服务端未生成 ssh key 客户端与服务端的ssh key不匹配 找到

    2024年02月05日
    浏览(42)
  • 如何通过git指令加入管理者仓库并提交分支(Github Gitee)

    GitHub: https://github.com/ Gitee : https://gitee.com/ 打开对应的网站之后可以直接通过邮箱创建账户 下载git 安装地址: https://git-scm.com/download 安装Git后右键桌面可显示 Git Bash 和 Git GUI Git GUI: Git提供的图形界面工具 Git Bash: Git提供的命令行工具 git基础配置 右键打开Git Bash输入 gi

    2024年02月07日
    浏览(42)
  • idea提交代码时gitee显示别人的名字,如何更改git信息

    在公司中刚入职只能用别人的账号,导致一直都是用别人的账号提交代码 点击应用,最后重启idea中,就会让你重新输入账号和密码,更改完之后可以再次勾选回原来状态,就不用重启再输入密码 代码如下(示例): 代码如下(示例): 以上就是今天要讲的内容,本文仅仅

    2024年02月03日
    浏览(50)
  • 如何使用Git将本地项目推送至代码托管平台?【Gitee、GitLab、GitHub】

    查看当前Git邮箱 git config user.email 设置Git账户名 git config --global user.name = “王会称” ​ 设置Git邮箱 git config --global user.email “wanghuichen2003@163.com” 再次查看是否设置成功 进入git全局配置文件修改 vi ~/.gitconfig 登录Gitee官网,并注册账户 ===================================================

    2024年04月16日
    浏览(47)
  • Visual Studio Code如何连接Gitee仓库进行代码管理——详细步骤

    1.打开git官网 https://gitee.com/ 新建仓库 打开之后在右上角点击加号,然后点击新建仓库 随便写就行,随便起个名字(下面这张图的东西都不用选,直接创建就行) 2.通过vscode打开需要上传的项目,然后右击打开终端(如图) 3.在终端配置你自己的用户名及邮箱,可进行查看

    2024年03月11日
    浏览(49)
  • VS 如何取消git源代码管理,如何取消将解决方案添加到代码管理,如何取消签入?

    Visual Studio 不小心在解决方案中勾选“将解决方案添加到源代码管理”,在侧栏中显示蓝色小锁的图标, 并产生“已签入”的字样,如何取消代码管理呢? 首先,在 “工具 - 选项” 中找到 “源代码管理 - 插件选择”,再将下拉框中的“Git”改为“无”。 此时,源代码管理

    2024年02月13日
    浏览(39)
  • 使用Git上传代码到Gitee

    1、在gitee上创建仓库 2、打开git工具 打开 git bash,cd 到项目所在的文件夹(在git bash中需要先cd到本地项目所在的盘,然后继续cd到具体的位置,比如先执行 cd C:/ 然后 cd 在C盘中的位置 )。 或者在项目文件夹下直接右键,选择 Git Bash Here 即可。 3、输入以下指令把这个文件夹

    2023年04月22日
    浏览(26)
  • 快速学会git版本管理——上传gitee仓库

    首先在gitee右上角有一个新建仓库 创建之后打开自己想要上传的文件 右键打开 Git Bash Here   接下来会弹出git的窗口 首先先初始化仓库 用git命令  git init 然后用git add . 上传所有文件上传到暂存区(上一篇文章说过add是单个文件,add . 是所有文件) 没有显示错误 就是上传成功了

    2024年02月09日
    浏览(39)
  • 本地代码丢失,如何找回未提交过的代码,踩坑日记, git代码管理

    转载请标明出处:https://blog.csdn.net/men_ma/article/details/106847165. 本文出自 不怕报错 就怕不报错的小猿猿 的博客 我哭了,写了一周的代码就那样没了,有项目的一半后端接口,当时代码丢失了,好几个同事都说找不回了,好在有我老大在,老大知道后说:有我在,怕啥!有同事

    2024年02月07日
    浏览(30)
  • 通过git管理远程gitee仓库(push、pull)

    Git:是一种分布式版本控制系统,用于跟踪和管理软件开发项目的源代码和文件。它可以记录文件的修改历史,允许多人协同工作,并提供了撤销更改、分支管理、合并代码等功能。 Git最初由Linus Torvalds开发,用于管理Linux内核的源代码。它已成为广泛使用的版本控制系统,不

    2024年02月13日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包