git init 初始化git仓库
git add 提交文件到仓库
git commit -m "说明" 提交修改
git status 查看仓库状态
git log 查看历史提交记录 --pretty=oneline 每行显示一条历史记录
git diff filename 比较给定文件的不同(本地与仓库)
git reset --hard 设置为某个版本 (
1:HEAD 当前版本
2:HEAD^ 上一版本
3:HEAD^^ 上上版本 HEAD~100 上100个版本
4:版本号)
git reflog 查看每一次命令(会列出版本号前几位)
git checkout -- filename 从版本库中还原文件
git reset HEAD file 将放入暂存区的修改删除
git rm filename 删除版本库中指定文件
先有本地仓库, 向远程推送过程
git remote add origin git@server-name:path/repo-name.git 关联一个远程仓库
例如:git remote add origin git@github.com:michaelliao/learngit.git
git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改
先创建远程仓库, 然后克隆到本地方式
git clone git@server-name:path/repo-name.git 克隆远程仓库到本地
例如: git clone git@github.com:michaelliao/gitskills.git
git check -b branchname 创建分支, 并切换到该分支
或
git branch dev 创建分支
git checkout dev 切换分支
git branch 查看所有分支
git merge branchname 合并分支到当前分支(一般为主分支, master) 默认使用fastforward合并分支
git merge --no-ff -m "说明" branchname 禁用快速合并方式, 创建一个新的提交
git branch -d branchname 删除指定分支
git branch -D branchname 强制删除分支
git log --graph --pretty=oneline --abbrev-commit 查看分支合并情况
git stash 保存当前分支状态, 稍后可重新回到该位置继续工作
git stash list 列出保存的状态信息
git stash apply 状态名称 恢复到某状态, 但不删除保存状态
git stash drop 状态名称 删除某状态
git stash pop 状态名称 恢复到某状态, 同时删除保存的状态
git remote -v 查看远程仓库[详细信息]
git push 远程仓库分支 本地仓库分支 将本地修改提交到远程仓库
git pull 获取远程仓库修改
git branch --set-upstream branch-name origin/branch-name 将本地分支与远程仓库分支关联
git checkout -b branch-name origin/branch-name 在本地创建与远程分支对应的分支
标签管理
git tag <tagname> 为当前分支打一个标签
git tag <tagname> commitID 为历史提交打一个标签
git tag 查看所有标签
git show tagname 查看指定标签详细信息
git tag -a 标签名 -m "说明" 带有说明的标签
git tag -s 标签名 -m "说明" 用密钥签名一个标签
git tag -d tagname 删除标签
git push origin tagname 将标签推送到远程仓库
git push origin --tags 一次性推送全部标签
删除远程标签:
1:先删除本地标签 git tag -d tagname
2:删除远程标签 git push origin :refs/tags/v0.9
自定义git
git config --global color.ui true 让git显示颜色
.gitignore 填写需要忽略的文件 例如: *.property
git add -f filename 可以强制将忽略文件加入到仓库
git config --global alias.别名 命令名称 用别名代替命令名称
添加 --global 参数对当前用户启作用, 否则仅对当前仓库启作用
例如: git config --global alias.st status
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
配置文件位置 .git/config
git add 提交文件到仓库
git commit -m "说明" 提交修改
git status 查看仓库状态
git log 查看历史提交记录 --pretty=oneline 每行显示一条历史记录
git diff filename 比较给定文件的不同(本地与仓库)
git reset --hard 设置为某个版本 (
1:HEAD 当前版本
2:HEAD^ 上一版本
3:HEAD^^ 上上版本 HEAD~100 上100个版本
4:版本号)
git reflog 查看每一次命令(会列出版本号前几位)
git checkout -- filename 从版本库中还原文件
git reset HEAD file 将放入暂存区的修改删除
git rm filename 删除版本库中指定文件
先有本地仓库, 向远程推送过程
git remote add origin git@server-name:path/repo-name.git 关联一个远程仓库
例如:git remote add origin git@github.com:michaelliao/learngit.git
git push -u origin master 第一次推送master分支的所有内容
git push origin master 推送最新修改
先创建远程仓库, 然后克隆到本地方式
git clone git@server-name:path/repo-name.git 克隆远程仓库到本地
例如: git clone git@github.com:michaelliao/gitskills.git
git check -b branchname 创建分支, 并切换到该分支
或
git branch dev 创建分支
git checkout dev 切换分支
git branch 查看所有分支
git merge branchname 合并分支到当前分支(一般为主分支, master) 默认使用fastforward合并分支
git merge --no-ff -m "说明" branchname 禁用快速合并方式, 创建一个新的提交
git branch -d branchname 删除指定分支
git branch -D branchname 强制删除分支
git log --graph --pretty=oneline --abbrev-commit 查看分支合并情况
git stash 保存当前分支状态, 稍后可重新回到该位置继续工作
git stash list 列出保存的状态信息
git stash apply 状态名称 恢复到某状态, 但不删除保存状态
git stash drop 状态名称 删除某状态
git stash pop 状态名称 恢复到某状态, 同时删除保存的状态
git remote -v 查看远程仓库[详细信息]
git push 远程仓库分支 本地仓库分支 将本地修改提交到远程仓库
git pull 获取远程仓库修改
git branch --set-upstream branch-name origin/branch-name 将本地分支与远程仓库分支关联
git checkout -b branch-name origin/branch-name 在本地创建与远程分支对应的分支
标签管理
git tag <tagname> 为当前分支打一个标签
git tag <tagname> commitID 为历史提交打一个标签
git tag 查看所有标签
git show tagname 查看指定标签详细信息
git tag -a 标签名 -m "说明" 带有说明的标签
git tag -s 标签名 -m "说明" 用密钥签名一个标签
git tag -d tagname 删除标签
git push origin tagname 将标签推送到远程仓库
git push origin --tags 一次性推送全部标签
删除远程标签:
1:先删除本地标签 git tag -d tagname
2:删除远程标签 git push origin :refs/tags/v0.9
自定义git
git config --global color.ui true 让git显示颜色
.gitignore 填写需要忽略的文件 例如: *.property
git add -f filename 可以强制将忽略文件加入到仓库
git config --global alias.别名 命令名称 用别名代替命令名称
添加 --global 参数对当前用户启作用, 否则仅对当前仓库启作用
例如: git config --global alias.st status
git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
配置文件位置 .git/config