Ubuntu安装最新Git
删除Git
sudo apt-get remove git
下载Git
git clone https://github.com/git/git
安装Git
sudo apt-get install build-essential libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip
cd git
make prefix=/usr/local all
sudo make prefix=/usr/local install
Git 基本命令之一
git init 初始化一个git仓库
git add file1 file2 ... 允许把一个或者多个文件添加到仓库
git commit -m "xxxx" 把文件提交到仓库
git commit -am "xxxx" 跳过使用暂存区域,把文件提交到仓库
git status 查看工作区的状态
git diff 查看修改内容
git diff HEAD -- file1 查看工作区和版本库的区别(未提交和已提交)
git log 查看提交历史记录(--pretty=online参数可简化输出内容,内容只包括commit id和添加的内容)(穿梭时空用)
git log --graph --pretty=oneline --abbrev-commit 以图形化的形式查看分支合并情况
git log -1 查看最近一次提交的信息
git log --oneline --decorate 查看各个分支当前所指的对象
git log --oneline --decorate --graph --all 查看分叉历史(输出提交历史,各个分支的指向以及项目的分支分叉情况)
git reset --hard HEAD^ 回退到上一个版本(丢弃提交到仓库的修改)
git reset --hard commit_id 回退到某一个提交历史点(丢弃提交到仓库的修改)
git reflog 查看命令历史(重返未来用)
git checkout -- file1 丢弃工作区的修改,恢复到未修改以前(最近的一次状态);可以把误删除的文件恢复到最新版本
git reset HEAD file1 结合下面的命令,该组合的功能:丢弃暂存区的修改,恢复到未修改以前(最近的一次状态)
git checkout -- file1
git rm file1 结合下面的命令,该组合的功能:删除版本库中的文件
git commit -m "xxxx"
git rm --cached file1 将暂存区中文件不再让Git继续跟踪,但是保留文件在磁盘
git mv file1 file2 结合下面的命令,该组合的功能:在Git中对文件改名,把file1改成file2
git commit -m "xxxx"
Git 基本命令之二
做好前期准备
git remote add origin github地址 关联一个远程仓库
git push -u origin master 关联后,第一次推送本地仓库master分支的所有内容到远程仓库
git push origin master 本地提交后,可推送最新修改到远程仓库
git clone 仓库地址 克隆远程仓库
git remote -v 查看远程仓库的详细信息
git push origin
git push origin
git push origin --tags 一次性推送全部未推送的标签到远程分支
git checkout -b
git branch --set-upstream
git pull 抓取远程分支的新提交(建议:先pull,本地合并后再push)
Git 基本命令之三
git branch 查看分支
git branch
git branch -v 查看每一个分支的最后一次提交
git branch --merged 过滤当前分支列表中已经合并到当前分支的分支
git branch --no-merged 过滤当前分支列表中尚未合并到当前分支的分支
git branch -d
git branch -D
git checkout
git checkout -b
git merge
git merge --no-ff -m "xxxx"
git stash 把当前工作现场“储藏”起来
git stash list 查看“隐藏的”工作现场
git stash pop 恢复工作现场,并且把stash内容删除
git stash apply stash@{0...} 恢复指定的stash
git stash apply 结合下面的命令,该组合的功能:恢复工作现场,并且把stash内容删除
git stash drop
git cherry-pick commit_id 复制一个特定的提交到当前分支 ???
git rebase 把分叉的提交变成直线???
Git 基本命令之四
git tag 查看所有标签
git tag
git tag
git show
git tag -a
git tag -d
git push origin
git push origin --tags 一次性推送很多标签到远程仓库服务器上
git checkout
git tag -d
git push origin :refs/tags/
Git 基本命令之五
git config ---global alias.
git config --global alias.co checkout
git config
git config --list 列出所有配置
git help command_name 获取指定命令的帮助文档
参考资料:
https://git-scm.com/book/zh/v2
https://www.liaoxuefeng.com/wiki/896043488029600