4

Git文件操作_qq604ad839511ed的技术博客_51CTO博客

 1 year ago
source link: https://blog.51cto.com/u_15130867/7097843
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

1、Git文件的四种状态

版本控制就是对文件的版本控制,要对文件进行修改、提交等操作,首先要知道文件当前在什么状态,不然可能会提交了现在还不想提交的文件,或者要提交的文件没提交上。

  1. Untracked :未跟踪,位加入到库中,可通过git add命令将状态转换为Staged状态
  2. Unmodified:文件已入库,未修改,若用git edit命令转换为modified状态,也可用git rm命令转换为untracked状态。
  3. Modified:仅仅只是修改过,未进行其它操作。可用git add转换为Staged状态,也可用git checkout退回到unmodified状态,此时修改部分作废。
  4. Staged:已暂存,可用git commit同步更新到库中,此时变为unmodified状态,也可通过git reset filename退回到modified状态。

1.1状态转换示意图

Git文件操作_git

2、查看文件状态

上面说文件有4种状态,通过如下命令可以查看到文件的状态:

2.1#查看指定文件状态

git status [filename]

Git文件操作_暂存区_02

2.2#查看所有文件状态git status

Git文件操作_忽略文件_03

3、将文件添加到暂存区

3.1git add 添加所有文件到暂存区

Git文件操作_暂存区_04

3.2添加指定文件到暂存区

Git文件操作_git_05

3.3、将文件移除暂存区

3.3.1将指定文件移除暂存区

Git文件操作_忽略文件_06

3.3.2将全部文件移除暂存区

Git文件操作_git_07

4、提交文件

4.1提交全部文件

Git文件操作_暂存区_08

5、忽略文件

忽略文件的方法

一般对某些无需纳入Git的管理,也不希望他们总出现在为跟组文件的列表的文件进行操作。此时创建一个名为.gitignore的文件,列出要沪铝的文件的模式,即可忽略文件

gitignore文件命名格式:

  • 所有空行或者以 # 开头的行都会被 Git 忽略。
  • 可以使用标准的 glob 模式(Linux通配符)匹配,它会递归地应用在整个工作区中。
  • 匹配模式可以以(/)开头防止递归。
  • 匹配模式可以以(/)结尾指定目录。
  • 要忽略指定模式以外的文件或目录,可以在模式前加上叹号(!)取反。

示例:

# 忽略所有的 .a 文件
*.a
# 但跟踪所有的 lib.a,即便你在前面忽略了 .a 文件
!lib.a
# 只忽略当前目录下的 TODO 文件,而不忽略 subdir/TODO
/TODO
# 忽略任何目录下名为 build 的文件夹
build/
# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt
doc/*.txt
# 忽略 doc/ 目录及其所有子目录下的 .pdf 文件
doc/**/*.pdf

6、从暂存区种移除文件

可以采用git rm命令将已经移入到暂存区的文件进行删除,但是我实际操作过程中出现了报错

7、拓展:常用忽略文件配置

# 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

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK