自定义Git及Git简单的命令总结
有些时候,你必须把某些文件放到Git工作目录中,但又不能提交它们,而每次git status都会显示Untracked files ...,有强迫症的肯定很不爽。
这个问题解决起来也很简单,在Git工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git就会自动忽略这些文件。
eg:
比如文件内容用文字编辑器输入python的格式的文件名,并命名成.gitignore文件存放在工作区。
*.py
最后把这.gitignore文件提交到版本库,就大功告成了。
git init #初始化所在目录为Git仓库
git add <file> ... #添加文件到暂存区(stage)
-f <file> ... #强制添加到暂存区(可用于添加忽略文件)
git commit -m "提交说明" #从暂存区提交到版本库
git status #查看仓库当前状态
git diff [file] #比较工作区和暂存区的差异
git diff --cached [file] #比较暂存区和版本库的差异
git diff HEAD -- [file] #比较工作区和版本库的差异
git log #查看提交历史
git log -1 #查看最后一次提交信息(-2 则是最后两次)
git log --pretty=oneline #单行格式显示提交历史
--graph #显示分支合并图
--abbrev-commit #简写的commit_id
git reflog #查看所有操作记录,包括删除的commit记录
git reset --hard HEAD^ #回退到上一版本
# HEAD 表当前版本, HEAD^ 表上一版本,HEAD^^ 表上两版本,HEAD~99 表上99版本。
git checkout -- <file> #撤销工作区的修改
git reset HEAD <file> #撤销暂存区的修改
rm <file> ... #工作区删除
git add <file> ... #将修改提交至暂存区
git commit -m "说明" #提交到版本库
git rm <file> ... #删除工作区和暂存区文件
git commit -m "说明" #提交到版本库
git remote add origin git@github.com:UserName/repo-name.git #添加远程仓库
git remote rm origin #取消远程绑定
git remote #查看远程库信息
-v #显示详细信息
git push -u origin <branch> #推送并关联指定分支到远程库
git clone git@server-name:path/repo-name.git #将远程仓库克隆到当前目录
git pull #拉取远程仓库内容
git branch <branch> #创建分支
git checkout <branch> #切换到指定分支
git checkout -b <branch> #创建并切换到该分支
git branch #查看现有分支
git branch -d <branch> #删除指定分支
git branch --set-upstream <branch_local> <branch_remote> #指定本地分支与远程分支的链接
git merge <branch> #合并指定分支到当前分支
--no-ff <branch> #禁用快速合并
git merge --no-ff -m "提交说明" <branch> #普通方式合并,并附提交说明
git stash #保存当前工作环境(包括工作区和暂存区)
git stash list #查看保存的工作列表
git stash apply [stash@{X}] #恢复工作状态,但不删除stash内容
git stash pop [stash@{X}] #恢复工作状态,并删除stash内容
git stash drop [stash@{X}] #删除stash内容
git branch -D <branch> #强制删除分支(常用于未合并的分支)
git tag #查看现有标签
git tag <tag_name> #给当前所在的commit打标签
git tag <tag_name> <commit_id> #给指定commit打标签
git tag -a <tag_name> -m "标签说明" <commit_id> #给指定commit打标签,并附说明
-s <tag_name> -m "标签说明" <commit_id> #用gpg私钥签名
-d <tag_name> #删除标签
git show <tag_name> #显示标签信息
git push origin <tag_name> #推送标签到远程库
git push origin --tags #推送所有未推送的标签到远程库
git push origin :refs/tags/<tag_name> #删除远程标签(先删除本地,再使用该命令删除)

浙公网安备 33010602011771号