git基础命令
1、如何取得项目的git仓库
取得项目的git仓库具有两种方法:
(1)在工作目录中初始化仓库
在项目的所在的目录下:
$ git init
然后使用git add命令对文件进行跟踪:
$ git add *.c
将修改进行提交:
$ git commit -m "initial project"
(2)从现有的仓库克隆
使用git clone url进行项目克隆:
$ git clone https://github.com/Cqlismy/C.git
2、记录每次更新到仓库
(1)项目中文件的变化周期
在一个项目当中,文件的变化周期如下图所示:
(2)检查当前文件的状态
如果想查看当前文件处于什么状态,可以使用git status命令:
$ git status
(3)跟踪新文件
使用git add开始跟踪新的文件:
$ git add README
使用git status查看文件状态,能看到文件被跟踪,并处于暂存状态。
(4)忽略某些文件
创建名为.gitignore的文件,并且列出要忽略文件的模式
文件.gitignore的规范格式如下所示:
1)所有的空行或#开头的行都被git忽略
2)可以使用标准的glob模式进行匹配
3)匹配模式最后以/结尾说明要忽略的是目录
4)要忽略指定模式以外的文件或目录,可以在模式前加!取反
例子:.gitignore文件如下
# 此为注释,将被git忽略 # 忽略以.a结尾的文件 *.a # 除了lib.a !lib.a # 仅仅忽略项目根目录下的TODO文件,不包括dir/TODO /TODO # 忽略doc/*.txt,但不包括doc/dir/*.txt doc/*.txt # 忽略doc/dir下的所有*.txt文件 doc/**/*.txt
(5)查看已暂存和未暂存的更新
由git status查看文件的情况是比较简单的,要看具体修改了哪些地方,可以使用git diff命令:
$ git diff
(6)提交更新
当暂存区域已经准备好,就可以进行提交了,提交前要使用git status检查所有修改的文件是否已经暂存起来,然后使用git commit命令进行提交:
$ git commit
使用-m参数可以跟提交说明的方式。
(7)跳过使用暂存区域
给git commit添加-a参数,会自动将所有已跟踪过的文件暂存起来一并提 交,从而跳过git add步骤:
$ git commit -a -m "commit files"
(8)移除文件
从暂存区域中移除文件,然后提交文件,可以使用git rm命令:
$ git rm log/\*.log
(9)移动文件
当需要移动文件或者文件改名,可以使用git mv命令:
$ git mv file_from file_to
3、查看提交历史
提交了更新之后,可以使用git log查看提交的日志:
$ git log
4、撤销操作
有时候在项目中,我们可能需要撤销某些操作。
(1)修改最后一次提交
可以使用下面的命令进行重新提交:
$ git commit --amend
例如,提交时忘记了暂存某些修改,修改最后一次提交:
$ git commit -m "initial commit" $ git add forgotten_file $ git commit --amend
(2)取消已经暂存的文件
使用下面命令,文件将会到未暂存状态:
$ git reset HEAD <file>
(3)恢复已经修改的文件
当项目文件被修改了,但是感觉没必要时,可以使用下面命令恢复之前状态:
$ git restore <file>
5、远程仓库的使用
远程仓库是指托管在网络上的项目仓库,同他人协作开发某个项目时,需要管理远程仓库,以便推送或拉取数据,分享各自的工作进展。
(1)查看当前的远程仓库
下面的命令可以查看远程仓库,-v选项显示对应的克隆地址:
$ git remote -v
(2)添加远程仓库
添加一个新的远程仓库,可以指定一个简单的名字,以便将来引用,使用下面命令:
$ git remote add [shortname] [url]
例如下面的例子,创建新的远程仓库,并修改文件,提交并推送:
$ git remote add pb git@github.com:Cqlismy/myGitTest.git $ git remote -v $ vim hello.c $ git commit -a -m "modified hello.c" $ git push pb
(3)远程库抓取数据
下面的命令将从远程仓库上抓取数据:
$ git fetch [remote-name]
(4)远程库推送数据
下面的命令将数据推送到远程仓库:
$ git push [remote-name] [branch-name]
例如,把本地的master分支推送到origin服务器上:
$ git push origin master
(5)查看远程库
查看某个远程仓库的详细信息:
$ git remote show [remote-name]
(6)远程库名重新命名和修改
使用下面命令修改某个远程仓库在本地的简称,如把pb修改为paul:
$ git remote rename pb paul
要删除某个远程仓库:
$ git remote rm [remote-name]
6、小节
本文主要简单介绍了一些常用的git基础命令。