参考学习网址:
http://www.runoob.com/git/git-install-setup.html。
http://www.bootcss.com/p/git-guide/。
https://www.cnblogs.com/vastsum/p/5910573.html。
Git 的工作需要调用 curl,zlib,openssl,expat,libiconv 等库的代码,所以需要先安装这些依赖工具。
①Debian/Ubuntu Git 安装命令为: //安装依赖 $ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev //安装git $ apt-get install git //安装完成后,查看版本 $ git --version②Centos/RedHat 安装命令为:
//安装依赖 $ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel //安装git $ yum -y install git-core //查看版本 $ git --version 我的测试环境:ubuntu14.04,所以采用apt-get方式安装。①把当前目录初始化为git仓库,会生成一个.git的目录。
git init②把当前目录初始化为git裸仓库,.git文件目录下的那些文件都会在该目录下,
可以通过添加hooks钩子在仓库的同级目录下新建一个存放项目源码的文件夹,也就是说将git仓库与项目源码分离。
git init --bare打开Shell(Windows下打开Git Bash),创建SSH Key:
ssh-keygen -t rsa -C "youremail@example.com"Git服务器打开RAS认证:
vim /etc/ssh/sshd_config //修改: RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys在/home/git下创建.ssh目录,然后创建authorized_keys文件,并将本地刚生成的公钥导入进去,
(【shift+$】快捷键可以将光标移动到行尾,然后复制公钥到新的一行)。
git clone 用户名@服务器静态IP:项目绝对路径
示例:git clone git@192.168.1.100:/home/web/study
查看状态: git status
添加新文件到版本库暂存区: (1)添加指定的文件 git add 文件名/目录 (2)添加所有的文件 git add .
暂存区文件提交到git: git commit -m '版本备注'
删除文件: (1)删除指定的文件 git rm 文件名/目录 (2)删除git版本库的文件,保留本地的文件 git rm --cached 文件或目录使用sublime或者phpstorm修改文件名后,特别是只修改大小写后,提交到git后,并不起作用,可以使用一下方式: git mv 文件a 文件b git add . git commit -m '修改文件名'
查看提交日志: git log git log -p 查看详细信息 git log -p -1 查看最近一次,最后一个参数是数字1 git log --oneline 简短的日志信息 git log --name-status 查看文件具体变化
修改最新一次的提交的描述: git commit --amend
从暂存区撤回 git reset HEAD 文件名从暂存区撤回到未修改的状态 git checkout -- 文件名
使用别名替换命令: 把git的add修改为a git config --global alias.a add 把git的commit修改为c git config --global alias.c commit
git push 推送git pull 拉取
git reset --hard 历史commit的ID 回退到历史版本git reflog
HEAD指向的版本就是当前版本,因此,Git允许我们在版本的历史之间穿梭,使用命令:git reset --hard commit_id。
穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。
要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本
创建.gitignore文件,可以忽略不想提交的文件。*.txt //忽略以txt结尾的文件!a.txt //结合上一句,忽略.txt结尾的文件,除了a.txt文件/verdor //忽略这个目录/verdor/*.php 忽略verdor子级的以php结尾的文件/verdor/**/*.php 忽略verdor下的以及子级下的以php结尾的文件
转载于:https://www.cnblogs.com/gyfluck/p/9597396.html
