Git 日常使用命令

张宝 发布于 8个月前

安装

下载在 https://git-scm.com/

Git 根目录 = 安装目录:C:\Program Files\Git

用户目录(cd ~):C:\Users\Administrator

清屏:Ctrl + L

配置

全局(一台电脑中的一个用户)配置用户和 Email。

$ git config --global user.name "your-name"
$ git config --global user.email "your-email"

git config --global core.editor "'E:/Program Files/Notepad++/notepad++.exe' -multiInst -nosession"

可在 C:\Users\用户名\.gitconfig 中看到。

配置项查看

git config --list

工作流

$ mkdir how-to-use-git && cd how-to-use-git && git init
Initialized empty Git repository in C:/Users/Administrator/how-to-use-git/how-to-use-git/.git/
$ echo "<?php phpinfo(); ?>" >> index.php
$ git add index.php
$ git status
$ git commit -m "first commmit"

删除 add (缓存中)后的文件夹。

$ git rm -r --cached .idea/

查看提交日志

$ git log

$ git log
commit 5652c7e52cc5e9acf8818434395b5fc41986d6e2
Author: zhangbao <3183442656@qq.com>
Date:   Sun Jun 4 12:00:55 2017 +0800

    fix typo

commit a890772bf8b0153c246cb4a1013a49affd2251c7
Author: zhangbao <3183442656@qq.com>
Date:   Sun Jun 4 11:58:34 2017 +0800

    First Commit

修正错误

软重置——最新提交的文件内容不变。

$ git reset --soft a890772bf8b0153c246cb4a1013a49affd2251c7

硬重置——最新提交的文件内容回退到当前设置的提交时候的样子

$ git reset --hard a890772bf8b0153c246cb4a1013a49affd2251c7
HEAD is now at a890772 First Commit

忽略文件 .gitignore

/node_modules
/public/storage
/storage/*.key
/vendor
/.idea
Homestead.json
Homestead.yaml
.env

分支管理

创建分支 about-feature

$ git branch about-feature

查看分支

$ git branch
  about-feature
* master

进入分支 about-feature

$ git checkout about-feature

创建并进入分支 about-feature

git checkout -b about-feature

合并分支

$ git merge about-feature
Updating 1eba5aa..e90272c
Fast-forward
 routes/web.php | 5 +++++
 1 file changed, 5 insertions(+)

删除分支

$ git branch -d about-feature
Deleted branch about-feature (was e90272c).

处理冲突

$ git merge feature/new-design
Auto-merging resources/views/welcome.blade.php
CONFLICT (content): Merge conflict in resources/views/welcome.blade.php
Automatic merge failed; fix conflicts and then commit the result.

手动修改合并后的内容后

$ git add .
$ git commit

快捷方式

$ git config --global alias.s status

$ git s
On branch master
nothing to commit, working tree clean

$ git config --global --unset alias.s

更加详细的可以参见阮一峰的 Git 命令清单 这篇文章。


登录参与评论