git官网下载
win7测试环境
在git bash中全局配置
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
在本地计算机中创建一个空目录作为git仓库(repository)
在git bash中切换进入该目录中,使用git init
初始化该目录为一个仓库。
在该目录中创建一个任意文件,注意尽管这个文件在工作目录下,但是它并不是仓库中的文件,需要通过以下两条命令向仓库中添加该文件
git add filename # 可以同时向仓库暂存区同时添加多个文件
git commit -m "description" #-m参数后跟描述字符串表示对本次提交的描述
基本命令使用
git status #让我们掌握当前仓库的状态
git diff filename #查看当前文件与该文件最后一次提交(修改过该文件此命令才有意义)前不同
git log #查看该文件修改记录,主要是每次修改后的提交记录。
git log --pretty=oneline #上面命令的简易显示
git reset --hard HEAD^ #HEAD表示当前版本, ^指向当前版本的上一个版本,此命令可以控制跳转到任意git版本。
git reset --hard a3ab44 #也可以指定commit序号回溯或前进到任一版本
git reflog #保留你每一次版本切换的记录
git diff HEAD -- filename.txt #显示工作区与当前版本库区别,没有区别则不显示
git checkout --filename #撤销当前文件在工作区的修改,如果已经添加到暂存区,则执行git reset HEAD file在执行git checkout --file
git rm file #如果在工作区删除文件,使用该命令在仓库中彻底删除
ssh-keygen -t rsa -C "youremail@example.com"生成秘钥对,win在c:\User\Administrator\.ssh生成隐藏ssh目录,
git remote add origin git@github.com:michaelliao/learngit.git#将本地的git仓库与GitHub上仓库关联起来
git push -u origin master 将本地的仓库推送到服务器的仓库里
git主分支为master分支,HEAD 指向最新一次提交的master分支。
git checkout -b env #创建env分支并切换到env分支
git branch #查看当前仓库所有分支,*表示当前分支
git checkout master #切换分支
git merge env #合并分支
git branch -d env #删除分支env
git log --graph --pretty=oneline --abbrev-commit #查看分支合并图
git merge --no-ff -m "merge with no-ff" dev #以普通模式合并分支,
git stash #保持当前工作状态以便做其他操作
git stash list #获取所有保存的状态
git stash pop #恢复工作状态
git stash apply stash@{0} #恢复指定的现场信息
git checkout -D branch_name # 没有合并前删除