天天看点

Git代码版本控制 学习

git init

Git使用git init命令初始化一个Git仓库,在执行完成此命令后,Git仓库会生成一个.git目录,该目录包含了资源的所有元数据。

使用我们指定的目录作为Git仓库

git init 目录
           

初始化后,此目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。

如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:

git add *.c
git add READM
git commit -m '初始化项目版本'
           

git clone

使用 git clone 从现有 Git 仓库中拷贝项目。

git clone GIT仓库
           

如果我们需要克隆到指定的目录,可以使用以下命令格式:

git clone GIT仓库 指定本地路径
           

git add / git status

git add 命令可将该文件添加到缓存

git status 命令用于查看项目的当前状态

git add README hello.c   //添加 README 和 hello.c
git status -s  //查看状态
           

git add . 命令可以添加当前项目的所有文件

git diff

执行 git diff 来查看执行 git status 的结果的详细信息。

git diff 命令显示已写入缓存与已修改但尚未写入缓存的改动的区别。

git commit

使用 git add 命令将想要快照的内容写入缓存区,

而执行 git commit 将缓存区内容添加到仓库中。

Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。

git add hello.c
git status -s
A  README
A  hello.c
git commit -m '第一次版本提交'
           

如果你觉得 git add 提交缓存的流程太过繁琐,Git 也允许你用 -a 选项跳过这一步

git commit -a
           

git reset HEAD

git reset HEAD 命令用于取消已缓存的内容。

git rm

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。

要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以用以下命令完成此项工作

git rm <file>
           

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f

git rm -f <file>
           

如果把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可

git rm --cached <file>
           

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件,进入某个目录中,执行此语句,会删除该目录下的所有文件和子目录。

git rm –r * 
           

git mv

git mv 命令用于移动或重命名一个文件、目录、软连接。

列出分支

git branch  //没有参数时,会列出本地的分支
git branch (branchname)  //手动创建分支
           

切换分支

git checkout (branch) 
git checkout -b (branchname)  //创建新分支并立即切换到该分支下
           

删除分支

git branch -d (branchname)
           

分支合并

git merge 分支名
           

Git 查看提交历史

git log
// --oneline 选项来查看历史记录的简洁的版本
// --graph 选项,查看历史中什么时候出现了分支、合并
//--reverse 参数来逆向显示所有日志
//如果只想查找指定用户的提交日志可以使用命令:git log --author
           

Git 标签

git tag -a v1.0  //给最新一次提交打上(HEAD)"v1.0"的标签。Git 会打开你的编辑器,让你写一句标签注解,就像你给提交写注解一样
           
git