Git
Posted chrjiajia
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Git相关的知识,希望对你有一定的参考价值。
安装
Linux
########## Centos/RedHat ##########
$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
########## Debian/Ubuntu ##########
$ apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev
$ tar -zxf git-1.7.2.2.tar.gz
$ cd git-1.7.2.2
$ make prefix=/usr/local all
$ sudo make prefix=/usr/local install
$ git --version
Win
安装包安装。
https://gitforwindows.org/
Mac
http://sourceforge.net/projects/git-osx-installer/
首次配置
配置个人的用户名称和电子邮件地址:
$ git config --global user.name "username"
$ git config --global user.email useremail@email.com
本地项目版本控制
$ git init # 将当前文件夹变成git仓库
$ git clone https://github.com/xxxx/xxxx.git # 从github克隆项目
文件状态:
- 未跟踪 - git不做版本控制
- 已跟踪。
$ git add <name> # 跟踪某个文件或目录,变成暂存状态。
$ git rm <name> # 不再跟踪某个文件或目录
$ git rm --cache <name> # 保存在git目录中,但不跟踪
- 已暂存
$ git add <file-name> # 将跟踪的文件加入暂存状态
$ git reset HEAD <name> # 取消某文件的暂存状态
- 提交
$ git commit # 提交修改到版本
$ git commit -m \'修改的内容说明\' # commit同时添加版本说明
$ git reset head~ --soft # 取消上一次提交(不能取消首次提交)
$ git status # 查看文件状态,哪些被修改过
$ git diff # 查看文件的变化
$ git log # 查看历史的提交信息
$ git log --pretty=oneline # 美化的git log
$ git log --pretty=format:"%h - %an, %ar:%s" # 自定义输出的格式。%h:简化哈希,%an:作者名字,%ar:修订日期(距今),%ad:修订日期,%s:提交说明
$ git log --graph # 图形化输出git log
提交到远程仓库
$ git remote add origin https://github.com/xxxx/xxxx.git # 提交到远程仓库,同时给远程仓库起个别名叫origin
$ git remote rename origin origin_new_name # 改本地别名名
$ git remote # 查看已经添加的远程仓库
$ git push origin_new_name master # 将本地的master分支 代码推送到远程仓库
SSH鉴权
Mac
$ cd ~/.ssh
$ ssh-keygen =t rsa -b 4096 -C \'email@email.com\'
# 输入秘钥名字及密码
# 到github添加公钥
Win
cd C:\\User\\Username\\.ssh
ssh-keygen
Linux
# 被访问端
# 公钥放到服务器的.ssh文件夹下
客户端登录远程服务器:
ssh username@ip
Git 常用操作 - git clone/git checkout -b/git diff/git push/git pull
以上是关于Git的主要内容,如果未能解决你的问题,请参考以下文章