笔记来自实验楼&菜鸟教程
Git 配置
安装git
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev #安装必要库文件,如果失败尝试跳过
$ apt install git
$ git --version
git version 2.7.4
使用Git的第一件事就是设置你的名字和email,这些就是你在提交commit时的签名,每次提交记录里都会包含这些信息。使用git config命令进行配置:
$ git config --global user.name "py"
$ git config --global user.email "[email protected]"
如果用了 –global 选项,那么更改的配置文件就是位于你用户主目录下的那个,以后你所有的项目都会默认使用这里配置的用户信息。
如果要在某个特定的项目中使用其他名字或者电邮,只要去掉 –global 选项重新配置即可,新的设定保存在当前项目的 .git/config 文件里。
设置Git默认使用的文本编辑器, 一般可能会是 Vi 或者 Vim。如果你有其他偏好,比如 Emacs 的话,可以重新设置::
$ git config --global core.editor emacs
使用当前目录作为Git仓库,我们只需使它初始化。
$ git init
Initialized empty Git repository in /home/py/workplace/.git/
$ ls -al
drwxr-xr-x 7 py py 4096 9月 11 15:08 .git
#同样也可以指定工作目录
$ git init newrepo
初始化后,会在 newrepo 目录下会出现一个名为 .git 的目录,所有 Git 需要的数据和资源都存放在这个目录中。
如果当前目录下有几个文件想要纳入版本控制,需要先用 git add 命令告诉 Git 开始对这些文件进行跟踪,然后提交:
$ git add *.c
$ git add README
$ git commit -m '初始化项目版本'
以上命令将目录下以 .c 结尾及 README 文件提交到仓库中
git的基本流程如下:
- 创建或修改文件
- 使用git add命令添加新创建或修改的文件到本地的缓存区(Index)
- 使用git commit命令提交到本地代码库
- (可选,有的时候并没有可以同步的远端代码库)使用git push命令将本地代码库同步到远端代码库
我们使用 git clone 从现有 Git 仓库中拷贝项目(类似 svn checkout)。
克隆仓库的命令格式为:
git clone <repo>
如果我们需要克隆到指定的目录,可以使用以下命令格式:
git clone <repo> <directory>
repo:Git 仓库。
directory:本地目录。
$ git clone https://github.com/shiyanlou/gitproject
#复制实验楼的项目,会在本地出现一个gitproject的文件夹
先在工作目录下创建一些文件,再使用git status查看
$ touch test{1..3}
$ git status
位于分支 master
初始提交
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
test1
test2
test3
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
根据提示把文件加入index
$ git add test{1..3}
$ git status
位于分支 master
初始提交
要提交的变更:
(使用 "git rm --cached <文件>..." 以取消暂存)
新文件: test1
新文件: test2
新文件: test3
当所有新建,修改的文件都被添加到了缓存区,我们就要使用git commit提交到本地仓库:
$ git commit -m "add 3 files"
需要使用-m添加本次修改的注释,完成后就会记录一个新的项目版本。除了用git add 命令,我们还可以用下面的命令将所有没有加到缓存区的修改也一起提交,但-a命令不会添加新建的文件。
git remote add origin https://github.com/kinglion580/shiyanlou.git
对于上述命令而言,git remote add 命令用于添加远程主机,origin 是主机名,此处我们可以自定义,不一定非要使用 origin,而 https://github.com/kinglion580/shiyanlou.git,是我自己的远程仓库,此处 需要替换为自己的远程仓库地址
Git基本常用命令如下:
命令 | 说明 |
---|---|
git config –global user.name/email “”/”“ | 配置别称与邮箱,/是两个命令 |
git init | 创建仓库 |
git add XX | 把文件添加到暂存区去。 |
git commit -m “XX” | 提交文件到仓库 –m 后面的是注释。 |
git status | 查看仓库状态 |
git diff XX | 查看XX文件修改了那些内容 |
git log | 查看历史记录 |
git reset –hard HEAD^ | 或者 git reset –hard HEAD~ 回退到上一个版本 |
(如果想回退到100个版本,使用git reset –hard HEAD~100 ) | |
git checkout – XX | 把XX文件在工作区的修改全部撤销。 |
git rm XX | 删除XX文件 |
git remote add mublog [email protected]:pymudou/mublog.git | 关联一个远程库,mublog一般是项目名 |
git push origin master | 把当前oringin项目的master分支推送到远程库 |
git clone [email protected]:pymudou/mublog.git | 从远程库中克隆 |
git checkout test | 切换到test分支上 |
git branch | 查看当前所有的分支 |
git ranch test | 创建test分支 |
git merge test | 在当前的分支上合并test分支 |
git branch -d test | 删除test分支 -D强制删除 |
git stash | 把当前的工作隐藏起来 等以后恢复现场后继续工作 |
git stash list | 查看所有被隐藏的文件列表 |
git stash apply | 恢复被隐藏的文件,但是内容不删除 |
git stash drop | 删除文件 |
git stash pop | 恢复文件的同时 也删除文件 |
git remote | 查看远程库的信息 |
git remote -v | 查看远程库的详细信息 |
git remtoe rm oringin | 删除远程仓库 |