当前位置:网站首页 > 编程语言 > 正文

git的用法(git的基本用法)



重新复习一下的Git的使用说明。在实际工作中用到的一些,以及不常用的一些命令。笔者工作中,只有一个master主分支,且通常用 IDEA的可视化快捷命令。本文内容和截图主要参考 。感谢译者!

git三种状态

工作区 add---> 暂存区 commit----> 本地仓库

首先安装,不再话下,参考 。然后是一些配置,比如编辑你在github上面的账号和邮箱,参考。

新建:对于一个已经存在的项目,当你想对其进行版本控制,首先建立该项目的本地仓库,在该项目所在的目录下输入

git add 命令。 这是个多功能命令:可以用它开始跟踪新文件,或者把已跟踪的文件放到暂存区,
还能用于合并时把有冲突的文件标记为已解决状态等。 将这个命令理解为“精确地将内容添加到下
一次提交中”而不是“将一个文件添加到项目中”要更加合适。

克隆:从远程仓库(github,Gitee,Gitlab)中拉一个项目的代码

参考

一个新建的文件( untracker) 通过 变成 staged,同时也是(tracked)。然后到仓库中。之后它状态为(Unmodified)。之后会被编辑(Modified),对于这个被修改后的版本,同样需要 到 staged状态。等待下一次的 commit。

如果在克隆仓库后立即使用此命令,会看到类似这样的输出:

这说明你现在的工作目录相当干净。换句话说,所有已跟踪文件在上次提交后都未被更改过。 此外,上面的信息还表明,当前目录下没有出现任何处于未跟踪状态的新文件,否则 Git 会在这里列出来。 最后,该命令还显示了当前所在分支,并告诉你这个分支同远程服务器上对应的分支没有偏离。 现在,分支名是“master”,这是默认的分支名。

有些文件不需要被追踪,所以可以创建 .gitignore文件来列出过滤名单。

想知道具体修改了什么地方,可以用 git diff 命令。 稍后我们会详细介绍 git diff,你通常可能会用它来回答这两个问题:当前做的哪些更新尚未暂存? 有哪些更新已暂存并准备好下次提交?

在每次 前,需要 先 查看一下所需要的文件是不是都已暂存起来了。

将文件移除追踪,从已跟踪文件清单中移除(确切地说,是从暂存区域移除),有四种方式:

  1. :直接移除出跟踪清单,并且从工作目录中删除;
  2. 手动删除文件,再 ;
  3. 要删除之前修改过或已经放到暂存区的文件,;
  4. 想把文件从 Git 仓库中删除(亦即从暂存区域移除),但仍然希望保留在当前工作目录中。 换句话说,你想让文件保留在磁盘,但是并不想让 Git 继续跟踪,,如果文件多了,可以使用通配符批量匹配。

有时候我们提交完了才发现漏掉了几个文件没有添加,或者提交信息写错了。 此时,可以运行带有 --amend 选项的提交命令来重新提交:
  • git commit --amend -m "additional commit"
这个命令会将暂存区中的文件提交。 如果自上次提交以来你还未做任何修改(例如,在上次提交后马上执行了此命令), 那么快照会保持不变,而你所修改的只是提交信息。

实际例子:

你提交后发现忘记了暂存某些需要的修改,可以像下面这样操作:

最终你只会有一个提交——第二次提交将代替第一次提交的结果

你已经修改了两个文件并且想要将它们作为两次独立的修改提交, 但是却意外地输入 git add * 暂存了它们两个。如何只取消暂存两个中的一个呢? git status 命令提示了你
如果你并不想保留对 CONTRIBUTING.md 文件的修改怎么办? 你该如何方便地撤消修改——将它还原成上次提交时的样子 。请务必记得 git checkout -- <file> 是一个危险的命令。 你对那个文件在本地的任何修改都会消失——Git 会用最近提交的版本覆盖掉它。 除非你确实清楚不想要对那个文件的本地修改了,否则请不要使用这个命令。

新建一个和 本地仓库所在的目录名称一样的仓库,然后添加仓库。

参考,后再赘述。

总结一下:

用于在切换分支的时候,在自己分支的工作目录下已经完成的一部分工作无法立即提交,又必须要切换时,如果不 ,就无法切换而报错,可以使用git stash暂存目前的工作状态,使目前的分支的状态是 "nothing to commit, working tree clean" 然后就可以切换到其他分支。之后,切换回,再使用 恢复之前的状态。

这里的和 的区别是后者不删除,前者恢复后会删除那个。

更详细的参考 。

参考

在IDEA解决冲突的几个做法:参考。

到此这篇git的用法(git的基本用法)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • pointnet论文(pspnet论文)2024-12-26 21:36:06
  • 双系统卸载win10系统(双系统如何卸载)2024-12-26 21:36:06
  • 本机设置安装(安装设置怎么弄)2024-12-26 21:36:06
  • u盘虚拟光驱删除(u盘虚拟光驱删除方法)2024-12-26 21:36:06
  • 工具五金有哪些(工具五金有哪些种类)2024-12-26 21:36:06
  • ov内存卡是什么品牌(内存卡的evo是什么意思)2024-12-26 21:36:06
  • 传输网页使用的协议是什么(浏览器传输网页使用的协议是)2024-12-26 21:36:06
  • 广度优先搜索是递归吗(广度优先搜索和广度优先遍历的区别)2024-12-26 21:36:06
  • ipv6全球单播地址(ipv6全球单播地址获取不到网关)2024-12-26 21:36:06
  • 设置里面的本机信息(设置里面的本机信息怎么删除)2024-12-26 21:36:06
  • 全屏图片