git基本操作篇
git安装(centos7):yum install git
创建版本库:1.创建一个目录 mkdir gitTest
2.git init
添加文件到版本库:git add yourfile(git add . 则表示将所有文件添加)
提交修该:git commit -m "your comment of this commit"(注意每次commit之前,需要用git add将你的修改添加到暂存区,这是git的优秀性质,管理的是修改,而不是文件)
查看版本库状态(距上次有哪些文件添加和修改):git status
查看修改具体情况:git diff
回退到上个版本:git reset --hard HEAD HEAD表示当前版本,可以替换为版本号,表示你想要回退的版本
查看版本号及那次操作:git reflog
回退到最近一次提交的状态:git chekout yourfile(git checkout可以看到最近一次的操作)
从repository里删除文件:git rm yourfile
创建分支:git branch branchname
切换分支:git checkout branchname
切换到远端分支:git checkout -b dev origin/dev (这里的dev表示你希望本地的分支名字叫dev,origin/dev表示远端存在一个remote/origin/dev的分支)
本地分支提交到远程分支: git push origin 本地分支名
删除远程分支:git push origin :远程分支名 (冒号表示删除)
更新本地分支,让其和远端分支一样: git fetch origin 远程分支名:temp git merge temp(可以用git diff temp查看区别)
查看分支:git branch(如查看远端分支需 git branch -a)
合并分支:git merge branchname(将branchname合并到你的当前分支上)(加上--no-ff可以禁用Fast forward模式,保证删除分支后任然在log里可以看到曾经的分支情况)
合并几个commit:首先可以通过git log查看最近的提交,比如你想合并最近的3个commit,输入git rebase -i HEAD~3,然后会出来一个页面,默认所有commit都会用pick,保留第一个,其余全使用squash,然后wq,如果无冲突就会进入commit编辑界面,然后修改wq就行了
删除分支:git branch -d branchname
暂存当前工作区:git stash
恢复暂存工作区:git stash pop(删除暂存) git stash apply(不删除暂存)
做标签:git tag v1.0
需要注意的是,在你切换分支前,请将你的当前分支做一个commit或者暂存,不然你切换分支后会将你的改变带到另一个分支下,造成混乱
git 修改提交的用户和邮箱
// 设置全局
git config --global user.name "Author Name"
git config --global user.email "Author Email"
// 或者设置本地项目库配置
git config user.name "Author Name"
git config user.email "Author Email"
//仅修改上一次提交
git commit --amend --author="NewAuthor <NewEmail@address.com>"
//取消上一次提交(代码仍然保留)
git reset --soft HEAD^(如果你进行了2次commit,想都撤回,可以使用HEAD~2)
配合github篇
配置ssh的key的方式就不详细说明了,到处都可以百度到
进入一个新的文件夹 git init
关联到远端repositry:git remote add origin https://github.com/yourUsrName/yourRepostryname.git(origin表示远程repository的名字是origin)
提交修改:git push -u origin master
从远端clone:git clone https://github.com/yourUsrName/yourRepostryname.git