Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。就目前来说,git已经越来越流行了,可以去git官网下载最新版。一般为了方便,可以下载git乌龟,和svn乌龟使用差不多。方便push,pull,log等的操作。
从基本命令开始讲起:
1生成ssh key
①配置信息
git config --global user.name "your name"
git config --global user.email "your email"
注释:填写你的名字和邮箱
②生成key
用法:ssh-keygen -t rsa -C "your email"
填写 你的邮箱,会在你的电脑上面生成.ssh目录,里面会包含id_rsa和id_rsa.pub两个文件,这两个文件里面是Key的秘钥对,id_rsa对应私钥,仅对自己知道。id_rsa.pub对应公钥,可以告诉别人。如果你需要把key配置到github和码云,去相应的页面配置就好了。
2.clone 仓库,将远程仓库克隆到本地。
用法: git clone 地址
比如 git clone https://github.com/alibaba/fastjson.git 将github上面fastjson下载到本地。
3.添加文件
用法:git add 文件名
比如 git add a.txt
讲解:将需要添加的文件放到暂存区。git工作区分为两部分,一部分是本地工作区,一个是分支工作区。本地创建,修改,删除的操作基本上都是在本地工作区。分支工作区里面包含暂存区,和分支。git add 是将文件提交到暂存区,而git commit是将暂存区里面的内容提交到分支。
4.提交文件
用法:git commit -m "注释"
举例 :git commit -m "添加了一个a.txt文件"
讲解:查看git commit 更多细节,请使用 git commit --help
5.推送文件
用法:git push
讲解:将本地修改的文件推送到远程git仓库。
6.拉取文件
用法:git pull
讲解:用git拉去远程最新的文件,有两种方式:一种是git pull,一种是git fetch 。这两种的区别在于git pull会自动merge,而git fetch不会。
7.合并分支
用法 git merge 分支名
举例 git checkout master
git merge devlop
讲解:上面命令的意思是将devlop分支合并到master分支上,一定要注意先切换到你所要合并的分支,然后将需要合并的分支合过来。这里写的都是最简单的合并,如果要更深入的了解合并可以使用git merge --help 查看命令.注意合并过程可能有冲突。
8.创建分支
用法:git checkout -b 分支名
举例:
git checkout -b mybranch
9.删除分支
用法: git branch -d mybranch
10.切换分支
用法 git checkout 分支名
举例: git checkout mybranch
11.查看当前分支
用法: git branch
12.查看当前分支状态
用法: git status
13.查看提交日志
用法 git log
讲解:git log 是最简单查看提交记录的命令。美化视图效果可以试试git log --graph --pretty=oneline --abbrev-commit
14.查看当前仓库远程地址
用法: git remote -v
15.修改远程仓库的地址
用法:git remote set-url origin 【your address】
举例:git remote set-url origin https://github.com/alibaba/fastjson.git
16.版本回退
用法: git reset --hard HEAD^
讲解:git使用HEAD来表示当前版本,上一个版本为HEAD^,上两个版本就是HEAD^^,如果还需要回退更多,写成HEAD~n,代表回退上几个版本,比如回退到前五个版本 git reset --hard HEAD~5
17.杂谈
一般在项目提交之前最好git pull 一下(从远程服务器拉去最新的代码),如果有冲突,拉取下来,解决冲突完重新提交文件。