Git常用命令 下载本文

Git常用命令

Git跟踪管理的是修改而并非文件 git log --oneline(查看历史消息简介版)

git log --oneline--graph(查看历史消息简介版,用图形显示) git log --reverse --oneline(逆序显示)

git log --author=cdl --oneline -5(显示作者,最近的五条)

git log --oneline --before={3.weeks.ago} --after={2018-1-1} --no-merges(显示三周前,一月一号之后提交的,nomerge来隐藏合并)

gitlog --oneline --decorate --graph(decorate可以看到标签)

gitrm * -r 批量删除

git add -A批量添加(new modified deleted) gitadd .批量添加(new modified deleted) git add –ignore-removal(new modified) git add –u(modified deleted)

删除本地版本库:rm -rf .git(先删除.git) rm -rflearngit(再删除版本库)

1 gitinit把某个文件夹作为版本库

2 git add a.txt把文件加入到版本库(文件需先放在版本库)提交修改 3 gitcommit –m “commit 3 files”提交 4 gitlog查看历史提交文档

5 gitlog –pretty=oneline查看一条主线的日志

6 git reset --hard HEAD^ hard后面指定版本(HEAD是当前版本 ^是当前版本的上一个版本 ^^是上上个版本)

7 git reset --hard a28b6df后面跟上版本id就能回到那个版本(就是commit后面那个id)回退到上一个版本再想回到当前版本就必须指定commit id 8 gitreflog记录每一条git命令(包括commit id)

git回退只是把当前head指针指向前一个版本,顺便更新工作区文件 git status 比较工作区和版本库的差别 9 .git称之为版本库,git add是把要提交的修改放在暂存区(stage),提交的文件修改都放在暂存区,然后一次性提交暂存区的所有修改。

10 git diff HEAD -- readme.txt比较工作区和版本库里面最新版本的区别(查看最后一次提交之后的所有改变 --指定文件)

diff --git a/a.txt b/a.txt

index 5575f6f..c1dbc5b 100644 --- a/a.txt +++ b/a.txt

@@ -2,3 +2,4 @@gitinit git is good is yes ppp uuu

+aaa//工作区增加的内容

git diff 查看修改还未载入的内容

git diff --staged载入还未被提交(add notcommit) git diff v1.0 v1.1 两次版本的差异对比 git diff master dev比较两个分支

git diff master...dev创建dev分支之后在这个分枝上的变换,用dev与master所交的那个分歧点和现在的dev分枝上最后一个快照进行比对 gitdiff ...dev如果在master分枝上,可以这样运行,查看将要合并的某个分枝会有什么样的变化

11 git checkout -- a.txt

命令git checkout -- readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。 12 gitrm test.txt/git commit -m “rm test.txt”删除文件并提交到版本库

13 git remote add origin https://github.com/Chiron-C/gitTest.git(连接到远程仓库,origin是仓库别名)

14 git push –u origin master 提交代码,第一次使用用u,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令。 以后使用可以简化为:gitpush origin master push出现问题:failed to push some refs to

原因是远程仓库的redme文件未同步到本地,首先git pull --rebase origin master(合并代码),然后再push注pull=fetch+merge 15 git clone git@github.com:Chiron-C/gitSkil.git克隆 16 创建与合并分枝:

每次提交,master都会向前移动一步,随着不断提交,master分枝线也越来越长