本文共 2006 字,大约阅读时间需要 6 分钟。
git init --bare 创建一个原始的裸仓库 -- 适用于服务端
git支持的协议:本地协议、ssh协议、git协议、http/https协议、ftp、rsync。其中git协议不能push。
git clone --bare URL 从URL克隆一个裸仓库到本地。
git push --mirror URL 从本地的一个裸仓库提交到URL服务器上。
git add filename filename添加到缓存区。
git commit -m 'xxxx' 提交添加到缓存区的东西到本地仓库
git push origin master 提交到远端仓库 -- 远端是指URL给的地址
git remote add origin URL 将本地的仓库提交到URL仓库,在没有clone的情况下。
git checkout -b branch_name 创建一个branch的分支
git checkout branch_name 切换分支
git checkout -d branch_name 删除branch_name的分支
git push origin branch_name 把branch_name push到URL -- 该URL为之前clone的URL或自己在config中指定的URL
git pull 从URL更新仓库到本地仓库
git merge branch_name 合并branch_name到当前branch
git diff source_branch target_branch 比较两个branch
git tag 0.0.1 32werfgiek 软件发布时创建标签
git log 查看提交的日志
git checkout -- filename 替换掉本地的改动
git fetch origin 丢弃所有的本地改动与提交,从URL上获取最新版本
git reset --hard origin/master 将本地主分支指向到它
git remote get-url --all 获取url
git remote set-url 设置push或者all的URL
git config --global user.name "username" 设置提交的全局用户名
git config --global user.email "email_address" 设置提交的全局邮件地址
git status 查看本地库的状态
常用配置
system -- 系统级别
--global 用户全局
--local 单独一个项目
git config --global user.name "xxxx"
git config --global user.email "xxxxxx"
git config --global core.editor vim 更改git编辑器
git config --global alias.st status 配置别名
git config -l 列出所有配置
Git三种状态的操作
将工作区的修改提交到本地暂存。
git add filename
git add .
将本地暂存的内容(刚才 add的内容)提交到版本库
git commit -m "comment content"
git commit filename //基本上不用这个。
git commit .
git commit -a //包括git add / git rm / git commit 这三个操作,所有一般在操作工作区的时候,直接删除了文件,而不是使用git rm的,最后提交是可以用这个。
放弃工作区的修改(使用当前暂存区的内容状态去覆盖工作区,达到放弃工作区修改的作用)
git checkout filename
git checkout .
改变暂存区的修改(重置HEAD,制定版本库的内容状态去覆盖暂存区)
git reset filename
git reset .
git reset $id //恢复到指定的提交版本,该$id之后的版本提交都恢复到工作区
git reset --hard $id //恢复到指定的提交版本,该$id之后的版本提交全部会被抛弃,将不出现在工作区。
git reflog show branch_name | head //显示所有的版本记录,包括错误重置了HEAD之后的版本。
恢复某次提交(某次提交的回滚,不影响其他的提交,效果和创建一个新版本提交去回滚将指定的提交删除,包括产生的差异文件不会出现在工作区,而是直接被抛弃)
本文转自ting2junshui51CTO博客,原文链接: http://blog.51cto.com/ting2junshui/1755295,如需转载请自行联系原作者