一、安装与配置
1、安装
如果你想在 Linux 上用二进制安装程序来安装 Git,可以使用发行版包含的基础软件包管理工具来安装。 如果以 Fedora 上为例,你可以使用 yum:
$ sudo yum install git
如果你在基于 Debian 的发行版上,请尝试用 apt-get:
$ sudo apt-get install git
2、配置
用户信息
当安装完 Git 应该做的第一件事就是设置你的用户名称与邮件地址。 这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
$ git config --global user.name "John Doe"
$ git config --global user.email johndoe@example.com
配置sshkey
ssh-keygen -t rsa -C "自己的邮箱"
将生成的秘钥拷贝到github或gitlab上,之后每次clone 都可采用ssh方式而无需密码、
若之前采用的是http方式clone了项目,可以通过以下命令修改
git remote set-url origin ssh://git@host:port/projectName.git
修改默认文本编辑器为vim
$ git config --global core.editor vim
二、git基础操作
1、查看状态
git status
2、添加到staged
git add file
git add .
git add -p filename //提交部分修改
3、提交commit
git commit -m "Story 182: Fix benchmarks for speed"
git commit -a -m 'added new benchmarks' //跳过git add
git commit --amend //不会产生新的提交
//自上次提交以来你还未做任何修改,就是修改了你上次提交的message
//也可以添加新的文件到暂存区
4、git diff
git diff //显示尚未暂存的改动,即unstaged的文件和staged的文件的比较
git diff --staged //显示暂存的改动,即上次commit和这次staged的文件的比较
5、删除文件
git rm filename //从暂存区域移除,并连带从磁盘中删除,若直接删除文件会变为unstaged,还需要add和commit,若删除之前文件已经被修改过并且已经add了,需要加 -f
git rm --cached filename//从暂存区域移除,在磁盘中保留
6、移动文件
git mv file_from file_to
7、查看历史
git log
git log -p -2 // -p用来显示每次提交的内容差异。 -2显示最近两次提交
git log --graph //显示分支图
git log -- state //显示提交的修改信息
8、远程仓库
git remote add pb https://github.com/paulboone/ticgit 添加
git remote //查看所有远程仓库
git fetch pb //将数据拉取到你的本地仓库,它并不会自动合并或修改你当前的工作。
git remote show origin //查看origin远程仓库
git remote rename pb paul //重命名
git remote rm paul //删除
9、branch相关
git checkout master //切换到master分支
git checkout -b 本地分支 origin/远程分支
git checkout -b dev //创建master分支的副本dev并切换到dev分支
git branch -vv //查看分支信息
git branch -m old new //重命名分支
git branch -d 本地分支 //删除本地分支
git push origin --delete 远程分支 //删除远程分支
10、git pull/push相关
git pull 远程主机名 远程分支名:本地分支名
git pull
git push 远程主机名 本地分支名:远程分支名
git push origin master //省略远程分支名
git push origin :远程分支名 //删除远程分支
git reset
git reset --soft hash //保留暂存区和工作区
git reset (--mixed) hash //保留暂存区,清空工作区
git reset --hard hash //清空暂存区和工作区
git stash
git stash
git stash pop
git stash list
git stash apply
git stash apply stash@{n} //应用第n个储藏
参考文献