git指令备忘

git help

git init             //初始化当前目录为一个 git repository

git clone http:xxx.xxx      //clone网上的库,并将 该url的库设为远程库,且作为本地库的origin库

git clone http:xxx.xxx myxxx    //clone网上的库并自定义本地库的名字为 myxxx

git add fileName        //添加文件到暂存区

git add *.c          //提交所有.c文件到暂存区

git commit -m "提交说明"     //commit 暂存区的改动到repository

git status          //查看文件状态

git status -s          //更简略的状态,A 表示新添加到暂存区的, 修改过的文件有M标记,M在左边(绿色)表示修改已添加到暂存区,M在右边(红色)表示有未添加到暂存区的修改

git status --short        //同上

// .gitignore 文本文件可以指定git忽略的文件,支持glob模式即简化了的正则表达式

//$ cat .gitignore
//*.[oa]
//*~

//如上面的 .gitignore 文件表明 git忽略 所有.o和.a结尾的文件,也忽略 所有 ~结尾的文件

git diff          //查看尚未暂存的文件的修改(仅显示未暂存的)

git diff  --staged      //查看已暂存的文件的修改(仅显示已暂存的)

 git rm fileName    //删除文件,并使git不再跟踪该文件,执行这个命令会删掉文件,并将删除操作放入暂存区,不需要add即可直接 commit

git rm --cached fileName //使git不再跟踪该文件,执行这个命令会使文件untracked,但仍然保持在工作区,这个操作会自动放入到暂存区,不需要add即可直接commit

//rm命令可以用glob模式

git mv file_from file_to  //重命名文件,操作会自动放入暂存区,不需要add即可直接commit  //相当于 # mv file_from file_to  #git rm file_from #git add file_to 三条语句

git log    //从近到远显示每一次提交的sha-1编号,作者,作者电邮,时间,提交说明

git log -p  //显示提交日志同时显示差异

git log -2  //显示最近2次提交日志

git log -p -2   //显示最近2次提交日志及差异  //-p -2没有顺序要求是一样的

git log --stat    //显示log及简略信息,可以加 -2

git log --pretty=oneline  //每行一条显示

git log --pretty=full    //全部显示

git log --pretty=fuller    //比全部显示更全,还区分了author和commiter

git log --graph      //图形化显示分支,合并历史

git reset HEAD fileName  //若fileName的改动已add到暂存区,可以用这个命令将改动从暂存区移除

git checkout -- fileName    //将fileName还原到上一次commit或者刚刚被git track时的状态,似乎对于已add到暂存区而未提交的文件无效??

git remote //列出远程仓库的简写

git remote -v //列出远程仓库及其url

git remote add <shortname> <url>  //添加一个新远程仓库(url),并指定其一个简写名称(shortname)

git fetch shortname  //拉取shortname仓库中的东西, shortname 是上面一条中加的仓库的简写名,可以用 shortname 来代替url,即这里本来是要在shortname的地方填url的

git fetch [remote-name] //从远程仓库获取数据

git pull  //抓取远程分支,并尝试自动合并到当前分支

git push [remote-name] [branch-name]  //将当前分支的已commit的改动推送到 remote-name库上的 branch-name分支上,需要有写权限,并且在你push之前没有其他人push,否则要先pull下来将其合并后才能push

git remote show [remote-name]  //查看 remote-name这个远程仓库的更多信息

git remote rename [remote-short-name-old] [remote-short-name-new]  //远程仓库在本地的简写名修改,如 http://github.com/xxx/xxx 这个库在本地的简写名为 repository1,使用git remote rename repository1 repository2 可以将这个库的简写名改为 repository2

//会自动改远程分支的名字,如之前远程分支名字为repository1/master 现在则会变为 repository2/master

git remote rm [remote-name]  //移除远程库

git tag    //列出已有标签

git tag -l 'v1.8.5*'  //只想列出 v1.8.5xxx的标签

 

posted on 2018-07-19 01:11  Jukka  阅读(112)  评论(0)    收藏  举报