索引
0、git remote
1、git clone
2、git fetch
3、git merge
4、git pull
5、git add
6、git commit
7、git push
8、git checkout
9、git reset
10、git branch
10、git remote
- 用于管理远程仓库
//列出所有已经存在远程仓库
$ git remote
//显示所有远程仓库的详情信息
$ git remote -v
//添加一个远程分支origin,并将该分支添加到本地仓库
//连接一个远程git 仓库
$ git remote add origin git@github.com:[username]/xxx.git
//删除对origin 分支
git remote rm origin
1、git clone
- 检出到本地仓库,执行该命令创建本地仓库的克隆版本
$ git@github.com:LeiLeiES/git-project-test.git
2、git fetch
- 该命令从另一个存储库获取对象和引用,即如果远程资源有变动,将会下载引用对象到本地仓库
//如果指定主机为origin,则默认下载origin 资源对象
$ git fetch
//获取远程主机的master分支,当然你也可以下载其他分支对象
$ git fetch orgin master
3、git merge
- 合并分支。用于将指定分支的资源合并到当前分支
$ git merge
//合并指定分支名
$ git merge [branch-name]
//合并远程仓库所有的改动到本地主分支
$ git merge origin master
4、git pull
- 下载远程仓库变动的对象引用,并与本地分支进行合并
- 默认理解成,git pull 是git fetch 和 git merge 的整合语法
// 当指定默认分支名时,使用git pull 命令
$ git pull
//指定分支为master 主分支。我们可以切换成任何想操作的其他分支
git pull origin master
//-u:指定一个默认的分支名称,下一次可以直接使用git pull命令来拉取合并
$ git pull -u origin master
5、git add
- 添加指定文件到缓存区,或者叫做暂存区
- 当我们commit时,git会依据该缓存区的内容进行文件的提交
// 填写所有变动的资源文件到暂存区
$ git add .
//添加指定路径或者路径下的文件到暂存区
$ git add <path>
//查看path中所有被修改、删除、未提交的文件
//unchanged =>表示文件已经修改处于tracked(文件跟踪)下,未添加到缓存库中。
//nothing =>表示已经被执行了git add 已经添加到缓存库之中
$ git add -i
6、git commit
- 将已经加入到暂存区的文件的提交代码到head中,但是代码还没有到远程仓库。
git commit -m "提交注释"
7、git push
- 推送本地仓库到远程仓库
//将本地分支(master --主分支)推送到远程仓库(origin --源地址),你可以将master 换成你想要的任何分支
//以下命令表示,将本地mastr分支推送到origin 主机上的master分支上,同时指定origin 为默认主机。下次可以不加任何参数即可以git push。
$ git push -u origin master
//指定默认的源地址和本地分支,即可直接执行push 命令
$ git push
//推送所有分支到远程仓库。如果本地还有其他分支,则该分支都是推荐到远程仓库中
$ git push --all origin
// 表示强行退推送分支到远程仓库,尽管可能会发生冲突
$ git push --force
//推送指定分支到远程仓库
$ git push origin [branch-name]
//当然如果要删除指定远程仓库的分支,只需要加 --delete
$ git push origin --delete [branch-name]
8、git checkout
- 用于恢复工作树中目录或者文件的修改记录 =>还未添加到暂存区(add)中获取t提交(commit)的文件
- 用于切换分支
//恢复工作目录中指定的文件 或者 指定路径下的资源
$ git checkout <filename>|<path>
//切换到指定分支
$ git checkout [branch-name]
//新建一个分支并且切换到该分支
$ git checkout -b [branch-name]
//恢复暂存区的所有文件到工作目录
$ git checkout .
9、git reset
- 复位工作树到指定的状态,一般用于撤销add、commit的操作
//撤销暂存区的文件到工作目录
$ git reset <path>|<file>
//回滚暂存区与工作目录中的修改,与上一次commit 后的工作目录保持一致 =>会重写工作目录
$ git reset --hard
//撤销最近一次commit 操作,文件恢复到工作目录 =>不会重写工作目录
$ git reset head^
//撤销最近一次commmit 操作,文件恢复到暂存区 =>不会重写工作目录
$ git reset --soft head^
//重置当前分支的指针到指定的commit记录 => 不会重写工作目录。commit-id => git log
$ git reset [commit-id]
//将本地仓库回滚到与远程仓库代码一致
$ git reset --hard origin
10、git branch
- 用户列出、创建或者删除分支
//列出所有分支
$ git branch
//列出所有远程分支
$ git branch -r
//列出所有本分支与远程分支
$ git branch -a
//新建一个分支
$ git branch [branch-name]
//删除本地仓库指定分支
$ git branch --delete [branch-name]
//修改分支名,如下表示将本地分支名branch-1 修改名称为branch-2
$ git branch -m [branch-1] [branch-2]