Create a new branch in remote machine:
git checkout -b dev
git push origin test
Config:
git config
--system
git config
--global
git config --global merge.tool vimdiff
Check config:
git config --list
git config user.name
Git 为你的每一个提交都记录你的名字与电子邮箱地址,所以第一步需要配置用户名和邮箱地址。
Stage: .git/index file
repository (hiden):.git
Common operation:
git reset HEAD 暂存区的目录树会被重写,工作区不受影响。git reset HEAD 以取消之前 git add 添加,但不希望包含在下一提交快照中的缓存
git reset --hard
如果希望用代码库中的文件完全覆盖本地工作版本git pull
git checkout HEAD file/to/restore
针对文件回退本地修改,使用
Example:
$ git status -s
M README
M hello.php
$ git add .
$ git status -s
M README
M hello.pp
$ git reset HEAD -- hello.php
Unstaged changes after reset:
M hello.php
$ git status -s
M README
M hello.php
rm(remove)
git rm --cached <file> 从暂存区删除文件,工作区则不做出改变
git rm file 会将文件从缓存区和你的硬盘中(工作目录)删除
git checkout ." 或者 "git checkout -- <file>" 命令时,会用暂存区全部或指定的文件替换工作区的文件。这个操作很危险,会清除工作区中未添加到暂存区的改动。
git checkout HEAD ." 或者 "git checkout HEAD <file>" 命令时,会用 HEAD 指向的 master 分支中的全部或者部分文件替换暂存区和以及工作区中的文件。这个命令也是极具危险性的,因为不但会清除工作区中未提交的改动,也会清除暂存区中未提交的改动
将该文件添加到缓存
$ git add *.c
$ git add README hello.php
$ git add README
$ git commit -m '初始化项目版本'
$ git status -s
-s 参数,以获得简短的结果输出。如果没加该参数会详细输出内容
M---->Modified status
A---->added status
UU---->unstaged status
git commit -a
-a 选项跳过这一步(git commit -m)
git commit -am '修改 hello.php 文件'
git commit提供了一个--amend参数,可以修改最后一次提交的信息.但是如果你已经push过了,那么其历史最后一次,永远也不能修改了
git rebase --continue
git add . 命令来添加当前项目的所有文件。
- 尚未缓存的改动:git diff
- 查看已缓存的改动: git diff --cached
- 查看已缓存的与未缓存的所有改动:git diff HEAD
- 显示摘要而非整个 diff:git diff --stat
Example:
$ git diff --cached
diff --git a/README b/README
ls(展示文件目录)
Make a directory: mkdir runoob
git mv 命令做得所有事情就是 git rm --cached 命令的操作, 重命名磁盘上的文件,然后再执行 git add 把新文件添加到缓存区
$ git mv README README.md
$ ls
README.md
git branch -a 显示所有branch
git branch 显示本地branch
git checkout branch_name 切换branch
git checkout -b newTest 创建新的branch,并切换到这个branch。
git branch -d branchname 删除分支
git merge branch1
把branch1合并到当前branch上
echo 'w3cschool.cc' > test.txt(add and edit the file test.txt)
git log 列出提交历史
git log --oneline看log简洁版
$ git log --author=Linus --oneline -5
$ git log --reverse --oneline