在 Git 中,初始化一个仓库的命令如下:
git init
创建仓库的命令如下:
git init git_non_bare_repo
创建裸仓库的命令如下:
git init --bare git_bare_repo
克隆仓库的命令如下:
git clone
clone 一个仓库,通常需要一个 url 地址,这里我们使用刚才创建的裸仓库,并重命名为 git_clone_bare_repo,具体命令如下:
git clone git_bare_repo/ git_clone_bare_repo/
Git 仓库的三个区域分别为工作区、暂存区与历史仓库。
它们的关系为,通常是从工作区添加文件到暂存区,再把暂存区的整体的状态提交到历史仓库,还可以直接从历史仓库里面检出文件到工作区。
上面关系对于的命令:
git add git commit
查看工作区和暂存区之间的区别:
git status
从暂存区删掉:
git rm
从工作区重命名文件并提交到暂存区:
git mv
忽略工作区中的某些文件提交到暂存区和历史仓库:
git ignore
首先,我们创建一个 git 仓库,具体命令如下:
git init git_basics
现在,我们进入到该目录,具体命令如下:
cd git_basics/
现在,我们创建两个文件,具体命令如下:
touch a touch b
现在,我们添加文件到暂存区:
git add a b
可以看到两个新文件被添加了:
git status
现在 ,我们再次提交到历史仓库:
git commit -m "Init repo"
再次修改文件 a:
echo "a file version 1" > a
再看下文件信息,可以看到a被修改了但还没有提交到暂存区:
git status
先添加到暂存区,再提交:
git add a git commit a -m "version 1"
从历史仓库和工作区删除 a:
git rm a
查看 a 被删除了:
ls git status
还原 a:
git reset HEAD a git checkout a
查看:
ls
删除暂存区的 a,不删除工作区的 a:
git rm --cached a
查看状态,可以看到提示 a 是未被跟踪的文件:
git status
再次添加到暂存区:
git add a
重命名 a 为 c,其实是删除了 a,并新建了 c,并加入暂存区:
git mv a c
修改回去:
git mv c a
直接重命名 a:
mv a c
查看状态,显示 a 被删除了,c 未被添加:
git status
把整个工作区都添加到暂存区:
git add . 或者 git add -A
忽略不需要添加的文件,首先,使用 vim 新建 .gitignore 文件:
vim .gitignore
并写入如下内容:
*.[oa] #所有的.o 和 .a文件不被提交 *.pyc #所有的.pyc文件不被提交 !test.pyc #test.pyc文件被提交 build/ #build目录不被提交
最后,我们提交 .gitignore 文件,具体命令如下:
git add .gitignore git commit -m "add gitignore"