扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
创建本地工作仓库有两种方法:
目前创新互联已为上千家的企业提供了网站建设、域名、雅安服务器托管、网站托管运营、企业网站设计、阿拉山口网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。方法一:
我们在其中一个目录下,点击鼠标右键,然后启动git bash。输入下面命令:
git init
这条命令即可创建一个git仓库。
然后再当前目录下,会创建一个.git
的隐藏文件夹:
里面包含了一个git初始化仓库所必须的文件(每个文件的作用暂时还没研究),如下:
方法二:
使用git clone命令。
git clone 远程仓库地址
# 可以重命名克隆的远程仓库名称
git clone 远程仓库地址 新的仓库名称
2. 新建、修改文件后提交更新到本地仓库上一篇文章介绍到,git 的工作过程其实都是围绕下面这幅图进行的:
所以,我们初始化了仓库之后,根据这幅图进行git的一些基本命令操作。
Git 文件的4种状态:
下面我们就实例演示下这4种工作状态。
2.1 查看工作目录下的文件状态git status
git status 命令用于查看仓库当前状态,显示有变更的文件。
示例:
当工作区文件数量很多时,可以使用 -s 参数输出简短的信息,即:git status -s
git add<文件名或者目录># 文件名支持通配符*的形式,比如说 *.c 就是表示工作区中所有的c文件
# 如果是目录的话,那么会递归跟踪该目录下的所有文件
该命令相当于把工作区的文件,添加到了暂存区,其实就是相当于git跟踪了这个文件。
git add .
相当于就是当前目录的全部文件都添加到暂存区。 . 表示当前目录, … 表示上一级目录示例:
2.3 提交暂存区的文件到本地仓库使用 git add 命令跟踪了文件之后,就可以提交更新到本地仓库了,使用如下命令:
git commit
注意:
我们调用这条命令的时候,都会打开 vim 编辑器,然后用户可以输入提交更改的信息,然后保存更改信息就可以提交成功了。
但是如果我们不熟悉vim编辑器,而且提交的信息又比较简单的话,我们可以输入一条字符串来保存更改的信息。
# 提交整个暂存区的文件
git commit -m "<提交信息>"
#只提交暂存区指定的文件
git commit [file1] [file2] ... -m "<提交信息>"
示例:
每次提交其实相当于记录了一次快照,后面我们在任何时候都可以退回到本次状态。
2.4 修改文件我们把上面新建的 test.c 文件进行修改。
vim test.c
vim编辑器打开文件(或者使用其他编辑器都可以),修改内容:
然后回到vim命令状态,保存退出即可。
2.5 添加改动的文件到暂存区前面已经使用过git add
命令添加文件到暂存区了,但是那个文件是新建的文件,还没有跟踪的。
我们修改之后,查看文件状态:
暂存修改的文件也是git add
命令,只是前面是新的文件添加到暂存相当于跟踪了这个文件。现在是已经跟踪的文件被修改了,然后添加到暂存区。
git diff
该命令可以比较在工作区(也就是我们的工作目录)中已经被修改的文件,和已经写入暂存区的文件,他们之间的差异。
git status
命令其实可以列出哪些文件被修改了,但是不能列出文件修改的内容,而git diff
是可以的。
我们把上面的 test.c 文件进行修改,然后保存退出:
查看文件状态,和改动:
2.7 跳过暂存区直接提交更新我们对文件更改后,一般需要先使用git add
命令,先添加到暂存区,然后才能使用git commit
命令提交更新到本地仓库的。
每次都经过 git add 这一步太过繁琐,所以我们可以使用 -a 参数来直接跳过这一步,直接提交更新,命令如下:
# 提交整个暂存区的文件
git commit -a -m "<提交信息>"
#只提交暂存区指定的文件
git commit [file1] [file2] ... -a -m "<提交信息>"
其实就是多了 -a 参数,下面看看示例图:
2.8 将文件从暂存区或工作区中删除如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。
所以我们必须使用 git 的命令进行删除文件。
1、将文件从暂存区和工作区中一起删除:
git rm<文件名>
该命令相当于把源文件也删除了。
2、如果想把文件从暂存区域移除,但仍然保留源文件。换句话说,仅是从跟踪清单中删除,使用 –cached 选项即可:
git rm --cached<文件名>
3、删除目录
该命令和上面两条命令一样,指不定多了 -r 参数,表示删除目录。该命令会递归删除本目录下的所有文件和子目录。
git rm –r<目录名>
示例:
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流