# GitWay **Repository Path**: wxz66/gitway ## Basic Information - **Project Name**: GitWay - **Description**: git命令行和kotlin的练习项目 - **Primary Language**: Kotlin - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2017-06-23 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #GitWay - `git bash`的快捷提示: `tab`键 - `pwd`:显示当前目录 - git初始化,创建git仓库 - `git init` - 查看分支列表 - `git branch` - git添加文件的两步(工作区和暂存区) - 第一步:`git add `;第二步:`git commit -m "message"`,`-m`后面的是本次提交的说明,用于标识,建议输入有意义的文字 - 查看git仓库的状态,可以看到那些文件被修改、被删除、被创建 - `git status` - 比较那个文件具体的被修改的地方 - `git diff ` - 查看git的提交log - `git log` - `HEAD`指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令`git reset --hard commit_id`。 穿梭前,用`git log`可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用`git reflog`查看命令历史,以便确定要回到未来的哪个版本。 - 撤销修改: - 场景1:当你改乱了工作区某个文件的内容,想直接丢弃工作区的修改时,用命令`git checkout -- file`。 - 场景2:当你不但改乱了工作区某个文件的内容,还添加到了暂存区时,想丢弃修改,分两步,第一步用命令`git reset HEAD file`,就回到了场景1,第二步按场景1操作。 - 删除远程仓库的文件 - `git rm ` - 将本地项目关联远程仓库 - `git remote add origin ` ;`origin`是远程仓库的名字 - 将本地库推到远程仓库 - `git push`;当空仓库的第一次推送的时候,可以用`git push -u <远程仓库名> <远程分支名>`,这样就可以将本地分支和远程分支关联起来,以后就可简化命令。 - 克隆远程仓库到本地 - `git clone `;git支持https和ssh,ssh更快快速 - 创建分支 - `git branch <分支名>`,例如`git branch dev` - 创建分支dev并切换到新分支 - `git checkout -b dev` - 合并指定分支到当前分支 - `git merge <分支名>` ,例如在master上合并dev: `git merge dev`(Fast-forward模式:合并之后,删除分支,会丢掉分支信息) - 删除分支 - `git branch -d <分支名>`,例如删除分支dev: `git branch -d dev` - 切换分支 - `git checkout <分支名>` - 查看git分支合并图 - `git log --graph` - 可查看分支信息的merge - `git merge --no-ff <分支名>`,普通合并方式 - 保存工作现场 - `git stash` - 查看保存的工作区列表 - `git stash list` - 恢复工作区两种方式: - 第一种:`git stash apply`(恢复工作区,但不会删除stash中的内容), - 第二种:`git stash pop`(恢复工作区,并删除stash内容)` - 删除工作区 - `git stash drop` - 丢弃一个未合并的分支,需要强行删除 - `git branch -D <分支名>` - 查看远程仓库 - `git remote` - 查看远程仓库详细信息 - `git remote -v` - 从本地推送到远程分支 - `git push origin <分支名>` - 在本地创建和远程分支对应的分支 - `git checkout -b branch-name origin/branch-name`,本地和远程分支的名称最好一致; - 建立本地分支和远程分支的关联 - `git branch --set-upstream branch-name origin/branch-name`; - 从远程抓取分支 - `git pull`,如果有冲突,要先处理冲突。 - 命令`git tag `用于新建一个标签,默认为`HEAD`,也可以指定一个`commit id`; - `git tag -a -m "blablabla..."` 可以指定标签信息; - `git tag -s -m "blablabla..."`可以用PGP签名标签; - 命令`git tag`可以查看所有标签。 - 命令`git push origin `可以推送一个本地标签; - 命令`git push origin --tags`可以推送全部未推送过的本地标签; - 命令`git tag -d `可以删除一个本地标签; - 命令`git push origin :refs/tags/`可以删除一个远程标签。 - 配置`.gitignore`文件,参考`https://github.com/github/gitignore/blob/master/Android.gitignore` - git的官网:`https://git-scm.com/` - 廖雪峰的git教程:`http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000`