git从入门到进阶

x33g5p2x  于2021-12-31 转载在 其他  
字(1.8k)|赞(0)|评价(0)|浏览(281)

一、Git 创建仓库

1、git int

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

a、指定目录作为Git仓库

#初始化后,在 newrepo 目录下会出现一个名为 .git 的目录
git init newrepo

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

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

#注:在 Linux 系统中,commit 信息使用单引号 ',Windows 系统,commit 信息使用双引号 "。

2、git clone

#使用 git clone 从现有 Git 仓库中拷贝项目
#克隆仓库的命令格式为:

git clone <repo>

git clone git://github.com/schacon/grit.git mygrit

二、git的基本操作

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull

1、简单操作步骤

一个简单的操作步骤:

git init    
git add .   
git commit
git init - 初始化仓库。
git add . - 添加文件到暂存区。
git commit - 将暂存区内容添加到仓库中。

2、提交与修改

命令说明
git add添加文件到仓库
git status查看仓库当前的状态,显示有变更的文件。
git diff比较文件的不同,即暂存区和工作区的差异。
git commit提交暂存区到本地仓库。
git reset回退版本。
git rm删除工作区文件。
git mv移动或重命名工作区文件。

3、提交日志

命令说明
git log查看历史提交记录
git blame以列表形式查看指定文件的历史修改记录

4、远程操作

命令说明
git remote远程仓库操作
git fetch从远程获取代码库
git pull下载远程代码并合并
git push上传远程代码并合并

三、Git 分支管理

1、创建分支命令

git branch (branchname)

2、切换分支命令

git checkout (branchname)

3、合并分支命令

git merge

#我们将 newtest 分支合并到主分支去,test.txt 文件被删除
git merge newtest

4、列出分支基本命令

git branch

#注:没有参数时,git branch 会列出你在本地的分支。

5、使用 git checkout -b (branchname) 命令来创建新分支并立即切换到该分支下,从而在该分支中操作。

git checkout -b newtest

6、删除分支命令

git branch -d (branchname)

四、Git 查看提交历史

1、查看历史提交记录

git log

2、以列表形式查看指定文件的历史修改记录。

git blame <file>

3、可以用 --oneline 选项来查看历史记录的简洁的版本

git log --oneline

4、可以用 --graph 选项,查看历史中什么时候出现了分支、合并。

git log --graph

5、可以用 --reverse 参数来逆向显示所有日志

git log --reverse --oneline

6、查找指定用户的提交日志可以使用命令:git log --author , 例如,比方说我们要找 Git 源码中 Linus 提交的部分

git log --author=Linus --oneline -5

7、如果要指定日期,可以执行几个选项:–since 和 --before,但是你也可以用 --until 和 --after。

#例如,如果要看 Git 项目中三周前且在四月十八日之后的所有提交,我可以执行这个(我还用了 --no-merges 选项以隐藏合并提交):
git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges

8、查看指定文件的修改记录可以使用 git blame 命令,格式如下

git blame <file>
#注:git blame 命令是以列表形式显示修改记录

更多参考:http://git-scm.com/docs/git-log/zh_HANS-CN

相关文章