2.git基础

2020-07-29  本文已影响0人  周晓钏

获取到git仓库

获取git仓库有两种方式, 一种是自己将本地尚未进行版本控制的目录转化为git仓库,一种是克隆其他服务器上的git仓库

  1. 初始化仓库
    将本地没有进行版本控制的目录转化为git仓库
cd /d/studyGit
git init

  git init命令会在当前目录下创建一个.git的子目录,这个目录里面含有初始化git仓库中的所有必须文件,这些文件是git仓库的重要文件。虽然我们已经建立好了仓库, 但是我们还没有给仓库里的东西进行备案(跟踪)。
  通过git add命令来对文件进行追踪,然后执行git commit,这样就得到了一个被追踪文件与初始化提交的git仓库

// 追踪单个文件
git add 文件名
// 追踪以txt结尾的所有文件
git add *.txt
// 追踪所有文件
git add .

git commit -m '初始化仓库文件'
  1. 克隆现有的仓库
      如果入职的公司已经有了创建好的git仓库, 我们入职的时候是不可能让我们创建一个新的仓库提交的, 这个时候只能克隆公司创建好的仓库(克隆仓库的时候会需要成员权限,先不提)
git clone 仓库地址

git clone https://github.com/libgit2/libgit2
克隆仓库的时候并指定目录名
git clone https://github.com/libgit2/libgit2 gitStudy

将记录更新到仓库

  在仓库中的文件的状态只有两种, 已跟踪未跟踪, 已跟踪文件是只被git add的文件,在这个状态里,又分为已修改、未修改、已暂存三种。未跟踪的文件是没有被git add的文件

查看当前文件的状态

git status

// 状态简览
git status -s 
git status --short
未跟踪文件状态
已跟踪文件和未跟踪文件状态
状态简览

忽略文件

  在仓库里面, 有些文件我们不需要纳入git管理,也不想要他们出现在未跟踪的文件列表里面,在这种情况下,我们创建一个 .gitignore 文件来对这些文件进行忽略

touch .gitignore
  1. 格式规范
# 忽略所有的 .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

查看修改

git diff 
git diff 文件名
git diff --staged 这条命令将比对已暂存文件与最后一次提交的文件差异 

提交更新

git commit -m ''
git commit -a -m '' 
这个命令会自动将已跟踪过的文件自动暂存提交, 不需要自己`git add`文件

移除文件

将文件从暂存区移除, 然后提交

git rm 文件
git rm --cached 文件 (让文件保留在磁盘, 但git不跟踪,类似于.gitignore文件)

移动文件

git mv file_from file_to
上一篇下一篇

猜你喜欢

热点阅读