Git基础操作
几幅有助于理解GIT操作流程的示意图:
创建项目的Git仓库
从当前目录初始化
1 2
|
$ git init 将当前目录初始化为git仓库 $ git init [project-name] 新建一个目录,将其初始化为Git代码库
|
初始化后,在当前目录下会出现一个名为.git的目录,所有Git需要的数据和资源都存放在这个目录中。
1 2
|
$ git add [file] 添加到暂存区 $ git commit -m 'comments' check in到仓库
|
从现有仓库clone
1
|
$ git clone git://github.com/schacon/grit.git 从现有仓库克隆
|
查看状态
查看diff
1 2 3
|
$ git diff 查看当前文件(工作区)与暂存区的差异 $ git diff --cached 查看暂存文件与上次提交的差异 $ git diff HEAD 查看工作区与上次提交的差异
|
跳过使用暂存区域
1
|
$ git commit -a -m 'comments'
|
移除文件
1 2
|
$ git rm [file] 从仓库移除,同时也从本地文件夹删除 $ git rm --cached [file] 从仓库移除,但不从本地文件夹删除
|
移动/重命名文件
1
|
$ git mv [file_from] [file_to]
|
查看提交历史
1 2
|
$ git log 查看提交历史 $ git log --p -2 查看提交内容差异, 显示2个
|
撤销操作
修改最后一次提交
1 2
|
$ git add [forgotten_file] 补上暂存操作 $ git commit --amend 运行 --amend 提交
|
撤销暂存区的文件(即撤销已经git add操作)
取消对文件的修改
在历史版本之间切换
1 2
|
$ git reflog 查看命令历史, 可以显示历史commit id $ git reset --hard [commit_id]
|
Git 分支
查看分支信息
1 2 3
|
$ git branch list所有本地分支 $ git branch -r list所有远程分支 $ git branch -a list所有分支
|
新建分支
1 2
|
$ git branch [branch-name] 新建一个分支,但依然停留在当前分支 $ git checkout -b [branch] 新建一个分支, 并切换到该分支
|
切换分支
1
|
$ git checkout [branch-name] 切换到指定分支
|
合并分支
1
|
$ git merge [branch] 合并指定分支到当前分支
|
删除分支
1
|
$ git branch -d [branch-name] 删除指定分支
|
解决冲突
1 2 3
|
$ git status 查看文件冲突信息 $ git add [file_name] 将冲突文件标记为解决 $ git mergetool 使用可视化的合并工具
|
远程仓库的使用
显示远程仓库
1 2
|
$ git remote 显示仓库名 $ git remote -v 显示详细信息
|
添加远程仓库
1
|
$ git remote add [shortname] [url]
|
从远程仓库抓取数据
1
|
$ git fetch [remote-name]
|
此命令会到远程仓库中拉取所有你本地仓库中还没有的数据.
需要记住,fetch 命令只是将远端的数据拉到本地仓库,并不自动合并到当前工作分支,只有当你确实准备好了,才能手工合并。
1
|
$ git pull [remote] [branch] 取回远程仓库的变化,并与本地分支合并
|
推送数据到远程仓库
1
|
$ git push [remote-name] [branch-name] 上传本地指定分支到远程仓库
|
查看远程仓库信息
1
|
$ git remote show [remote-name] 查看某个远程仓库的详细信息
|
跟踪远程分支
1
|
$ git checkout -b [分支名] [远程名]/[分支名]
|
删除远程分支
1
|
$ git push [remote-name] :[branch-name]
|
标签操作
列显已有的标签
新建标签
含附注的标签
1
|
$ git tag -a [tag_name] -m 'comments'
|
轻量级标签
查看标签信息
推送标签到远程仓库
1
|
$ git push [remote] [tag_name]
|
新建一个分支,指向某个tag
1
|
git checkout -b [branch] [tag_name]
|
学习网站