此文章只是对命令的一个统计,起备忘和复习git只是的做用,不建议从没接触过git的同窗经过它来学习git。linux
第一种方法:yum install git-core 安装的版本比较老git
第二种方法:(我是linux centos)github
卸载老版本centos
yum remove git bash
安装依赖app
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoccurl
yum instalgcc perl-ExtUtils-MakeMaker 学习
执行安装url
wget https://github.com/git/git/archive/v2.2.1.tar.gz tar -zxvf v2.2.1spa
cd git-2.2.1
make configure ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv
make
make install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
先新建一个文件夹 mkdir test
进入该文件夹执行git init命令,就能初始化仓库了
添加文件到仓库
git add <file>
提交代码
git commit -m "说明"
记录提交历史
git log
记录着操做命令,也就是命令历史
git reflog
把工做区的内容添加到暂存区
git add <文件>
把暂存区的内容提交到当前分支
git commit -m "提交说明"
将现有工做区的隐藏起来
git stash
恢复隐藏的工做区
git stash pop
查看隐藏的工做区的内容
git stash list
指定恢复哪个隐藏的工做区内容
git stash apply stash@{0}
提交时忽略指定文件
在当前仓库目录下新建.gitignore文件,在其中写要忽略的文件名便可
将工做区的修改撤销掉
git checkout -- a.txt (注意:--很重要,若是没有--,这个命令就变成了切换分支)
这个撤销会有两种效果
第一种是修改后没有放到暂存区,那么撤销后会回到和版本库同样的状态
第二种是修改后放入了暂存区,又作了修改,那么撤销后会回到和暂存区同样的状态。
总之,就是让这个文件回到最近一次git commit或git add时的状态。
将暂存区的修改撤销掉
git reset HEAD file
代码回退 (提交一次就有一个版本,HEAD表示当前版本,HEAD^表示上一个版本,HEAD~10表示前第100个版本)
git reset --hard HEAD^ //回退到上一个版本
代码回退以后还能够前进,只要知道前一个版本的版本号
git reset --hard 3628164 //版本号不用写全,前几位便可
若是删除了文件
想让版本库里的文件也删掉
第一步:git rm -- a.txt
第二步:git commit -m ""
想让工做区删除的文件恢复
git checkout -- a.txt
关联远程库
git remote add origin git@github.com:mmcLine/firstGit.git
第一次推送信息
git push -u origin master
不是第一次推送信息
git push origin master
查看远程库的信息
git remote
git remote -v 更详细的信息
推送远程仓库有冲突的处理
git push origin dev 发现失败,有冲突
git pull 把最新的提交抓下来(git pull若是失败运行 git branch --set-upstream dev origin/dev 再git pull)
在合并,若是有冲突就手动解决后在提交
建立分支
git branch <name>
建立并切换分支
git checkout -b dev
查看当前分支
git branch
把dev分支合并到master上
git merge dev
删除分支
git branch -d dev
有冲突的时候先手动解决冲突在提交
查看提交的分支表
git log --graph
禁用Fast forward的合并,禁用后每次都会有新的提交
git merge --no-ff -m "merge with no-ff" dev
强行删除分支
git branch -D <name>
设置git操做命令的别名
git config --global alias.st status //将git status 设置别名为git st
要删除别名的设置
配置文件在.git里面的config里面,或者对应用户的家目录里的.gitconfig删除别名就在文件里删除别名就行了
处理方法:git remote rm origin
git的版本过低了,我以前是yum安装了,我卸载了用源码安装就行了
git clone git://github.com/mmcLine/firstGit.git
备注:也可以使用git clone https://github.com/mmcLine/firstGit.git的格式
mmcLine和firstGit分别对应图中的这两个参数,修改为本身的就好了
2,推送代码到github
修改了代码以后:
git add test.txt
git commit -m "test"
git push -u origin master 如果第一次推送使用此命令
git push origin master 不然使用此推送命令