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的标签
浙公网安备 33010602011771号