标签:git
git config --global user.name "ChenTaicheng"git config --global user.email "chen_taicheng@foxmail.com"
git config --list
git add 文件名 #用于把工作目录的文件放入暂存区域
git commit -m "说明" #用于把暂存区域的文件提交到Git仓库
git status
git log
git clone 目标
git reset HEAD~ #将上一个快照Git仓库的文件还原到暂存区域
git checkout #用于把暂存区域的文件还原到工作目录
git commit -am "说明" #自动将工作目录中所以“已跟踪”的文件先add到暂存区域,然后再执行commit命令。
git config --global user.name "ChenTaicheng"
git config --global user.email "chen_taicheng@foxmail.com"
git config --list
git add 文件名 #用于把工作目录的文件放入暂存区域
git commit -m "说明" #用于把暂存区域的文件提交到Git仓库
git status
git log
git clone 目标
git reset HEAD~ #将上一个快照Git仓库的文件还原到暂存区域
git checkout #用于把暂存区域的文件还原到工作目录
git commit -am "说明" #自动将工作目录中所以“已跟踪”的文件先add到暂存区域,然后再执行commit命令。
git reset --soft HEAD~ 撤销上一次commit
git reset --hard HEAD~ 不仅移动HEAD的指向,将快照回滚到暂存区域,它还将暂存区域的文件还原到工作目录
git reset 指定回滚的快照ID
git reset 快照 文件名/路径
git reset --hard 快照ID #滚到未来
git reflog #显示每次执行完命令,HEAD指向的版本ID号
git diff #比较暂存区域与工作目录的文件内容
移动命令:
j :向下移动一行 f:向下一页移动 d:向下移动半页
k:向上移动一行 b:向上一页移动 u:向上移动半页
g:跳转到第一行 G:跳转到最后一行
3g:跳转到第3行
搜索命令:输入斜杠(/)或问号(?),后边输入搜索的关键字,斜杠表示从当前位置向下搜索,问号表示从当前位置向上搜索
退出和帮助:在冒号(:)后边输入 q ,表示退出 diff;输入 h 表示进入帮助界面
git diff 6e2697 ed3708 #比较Git仓库中两个快照的差异
git diff ed3708 #比较第一份快照(ed370)和当前目录的内容
git diff HEAD #比较最新提交的快照和当前目录的内容
git diff --cached #比较最新提交的快照和暂存区域的文件
git commit --amend -m #修改最后一次提交,不会增加新的快照ID
git checkout -- README.md #将暂存区域的文件恢复到工作目录,READM.md为在工作目录中被删除的文件
删除Git中已经提交的文件
git rm yellow.jpg #删除工作目录和暂存区域的文件,yellow,jpg为需要删除的文件
git reset --soft HEAD~ #将快照回滚到上一个位置,然后重新提交
git rm -f test.py #删除工作目录和暂存区域的文件
git rm --cached #上传暂存区域的文件(保留工作目录的)
重命名文件
git mv game.py wordgame.py
mv命令相当于执行下边三条命令:
ren game,py wordgame.py
git rm game.py
git add wordgame.py
Note:Windows使用ren命令修改文件名,Linux是使用mv命令
让Git忽略一些指定的文件
在工作目录创建一个名为 .gitignore 的文件
windows不允许在文件管理器中创建以点(.)开头的文件
解决办法:在命令行窗口下才能创建以点(.)开头的文件,执行 echo *.temp > .gitignore
.gitignore 语法规范: .gitgnore 可以使用标准的glob模式匹配(glob模式是指shell所使用的简化了的正则表达式):
所有空行或者以注释号#开头的行都会被Git忽略
星号(*)匹配零个或多个任意字符
[abc]匹配任何一个列在方括号中的字符
问号(?)只匹配一个任意字符
[a-z]匹配所哟在这两个字符范围内的字符
匹配模式最后跟反斜杠(/)说明要忽略的是目录
匹配模式以反斜杠(/)开头说明防止递归
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反
创建分支
git cranch 分支名字
git log --decorate --oneline --all --graph #oneline:“精简版显示”,graph:“图形化显示”,all:“显示所有分支”
切换分支
git checkout 分支名
合并分支
git merge 分支名
git checkout -b 分支名 #相当于git branch 分支名和git checkout 分支名 两个命令的合体
删除分支
git branch -d 分支名
删除未合并的分支
git branch -D 分支名
git merge --no--ff 分支名 #合并分支并保留分支信息
git reset --soft HEAD~ #撤销上一次commit
git reset --hard HEAD~ #不仅移动HEAD的指向,将快照回滚到暂存区域,它还将暂存区域的文件还原到工作目录
git reset 指定回滚的快照ID
git reset 快照 文件名/路径
git reset --hard 快照ID #滚到未来
git reflog #显示每次执行完命令,HEAD指向的版本ID号
git diff #比较暂存区域与工作目录的文件内容
移动命令:
j :向下移动一行 f:向下一页移动 d:向下移动半页
k:向上移动一行 b:向上一页移动 u:向上移动半页
g:跳转到第一行 G:跳转到最后一行
3g:跳转到第3行
搜索命令: 输入斜杠(/)或问号(?),后边输入搜索的关键字,斜杠表示从当前位置向下搜索,问号表示从当前位置向上搜索
退出和帮助:冒号(:)后边输入 q ,表示退出 diff;输入 h 表示进入帮助界面
git diff 6e2697 ed3708 #比较Git仓库中两个快照的差异
git diff ed3708 #比较第一份快照(ed370)和当前目录的内容
git diff HEAD #比较最新提交的快照和当前目录的内容
git diff --cached #比较最新提交的快照和暂存区域的文件
git commit --amend -m #修改最后一次提交,不会增加新的快照ID
git checkout -- README.md #将暂存区域的文件恢复到工作目录,READM.md为在工作目录中被删除的文件
删除Git中已经提交的文件
git rm yellow.jpg #删除工作目录和暂存区域的文件,yellow,jpg为需要删除的文件
git reset --soft HEAD~ #将快照回滚到上一个位置,然后重新提交
git rm -f test.py #删除工作目录和暂存区域的文件
git rm --cached #上传暂存区域的文件(保留工作目录的)
重命名文件
git mv game.py wordgame.py
mv命令相当于执行下边三条命令:
ren game,py wordgame.py
git rm game.py
git add wordgame.py
让Git忽略一些指定的文件
在工作目录创建一个名为 .gitignore 的文件
windows不允许在文件管理器中创建以点(.)开头的文件
解决办法:在命令行窗口下才能创建以点(.)开头的文件,执行 echo *.temp > .gitignore
.gitignore 语法规范: .gitgnore 可以使用标准的glob模式匹配(glob模式是指shell所使用的简化了的正则表达式):
所有空行或者以注释号#开头的行都会被Git忽略
星号(*)匹配零个或多个任意字符
[abc]匹配任何一个列在方括号中的字符
问号(?)只匹配一个任意字符
[a-z]匹配所哟在这两个字符范围内的字符
匹配模式最后跟反斜杠(/)说明要忽略的是目录
匹配模式以反斜杠(/)开头说明防止递归
要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反
创建分支
git cranch 分支名字
git log --decorate --oneline --all --graph #oneline:“精简版显示”,graph:“图形化显示”,all:“显示所有分支”
切换分支
git checkout 分支名
合并分支
git merge 分支名
git checkout -b 分支名 #相当于git branch 分支名和git checkout 分支名 两个命令的合体
删除分支
git branch -d 分支名
删除未合并的分支
git branch -D 分支名
git merge --no--ff 分支名 #合并分支并保留分支信息
标签:git
原文地址:http://blog.51cto.com/ilctc/2091811