很多程序员新手都知道GitHub代码托管,但是想学习GitHub却感觉好难,因为GitHub没有传统的上传下载按钮,也不像服务器那样子用FTP传输文件,了解深入一点,就发现没有git基础就根本不会用GitHub。如果简单在百度搜git,也容易被一大堆新概念、新名词吓住了,从而放弃了学习神器Git的机会。笔者我最近做的一个多人合作项目需要用到Git版本控制,于是我花了两天研究和运用了一下Git,发现其实Git并不难,以下是我用linux mint(ubuntu衍生版)系统环境下总计的常用Git命令和简单用法介绍。首先,ctrl+alt+t进入终端,输入相应命令并回车则可执行。
1. 首先要安装Git
sudo apt-get install git
2. 安装完成后,cd到一个项目的目录下,将目录变成git仓库
git init
目录下会多个隐藏的.git文件,显示隐藏文件后看到.git文件意味着创建成功
3. 将文件添加到暂存区
git add 文件名1,文件名2,文件名3
如:git add index.html,style.css
4. 将暂存区文件正式提交到仓库
git commit -m "本次提交的信息"
如:git commit -m "添加网站首页,和样式表"
5. 查看目录下的仓库工作区当前状态
git status
6. 查看文件修改内容
git diff 文件名
如:git diff index.html
7. 查看git版本控制历史记录
git log
8. 回退项目的之前版本
git reset --hard 版本号
如:git reset --hard 36528195 意为回退到相应版本号
9. 撤销文件的修改
git checkout --文件名
如:git checkout --index.html 意为撤销回到最近add或commit时的状态
10. 删除文件
rm 文件名
如:rm index.html 意为删除目录下文件
git rm 文件名
如:git rm index.html 意为删除仓库的文件
11. 本地仓库关联远程仓库
git remote add 远程仓库名 远程仓库地址
12. 推送本地仓库到远程仓库
git push 远程仓库名 分支名
如:git push origin master 意为将本地仓库的master分支推送到远程仓库
13. 克隆远程仓库到本地库
git clone 远程仓库地址
14. 查看所有且当前分支
git branch
15. 创建分支
git branch 分支名
16. 切换分支
git checkout 分支名
17. 创建并切换分支
git checkout -b 分支名
18. 合并分支
git merge 分支名
如:git merge function 意为将function分支合并到当前分支(快速合并)
如:git merge --no-ff 意为将function分支合并到当前分支(普通合并)
19. 删除分支
git branch -d 分支名
20. 查看远程仓库信息
git remote
21. 同步远程库到本地库
git pull 远程库名
22. 建立本地分支和远程分支的链接关系
git branch --set-upstream-to=远程库名/分支名 分支名
23. 在当前分支上打标签
git tag 标签
如:git tag v1.0
24. 查看当前分支所有标签
git tag
25. 对历史仓库提交打标签
git tag 标签 版本号
26. 查看标签详细信息
git show 标签名
27. 推送本地标签到远程库
git push 远程库名 标签名
28. 推送所有本地标签
git push 远程库名 --tags
29. 删除本地标签
git tag -d 标签名
30. 删除一远程标签
git push 远程库名 :refs/tags/标签名
以上是GIT常用的命令,以下是基本的使用流程(所有git命令皆在终端下执行):
一、仓库初始化
1、CD到某个目录下(最好为空文件夹),这里假设为website文件夹;
2、使用 git init 初始化仓库。
二、写代码或别的
1、在website里写一个html文档,在body里面写上"hello,world!",然后命名文档为index.html;
2、使用 git add index.html 或 git add * 将网页文件添加到暂存区;
3、使用 git commit -m "提交信息" 将暂存区的文件提交到仓库或更新已在仓库中的文件。
三、选择一个平台
1、国内有coding、国外有github,选其中一个git平台,新建一个仓库(远程仓库)或选择已创建仓库;
2、把仓库地址copy下来,这里假设远程仓库地址为 coffee/web.git。
四、添加远程仓库
1、想好一个远程仓库名,这里假设为web;
2、使用 git remote add web coffee/web.git 将web代指远程仓库地址。
五、同步远程仓库
1、使用 git pull web 来同步本地跟远程仓库的内容;
2、使用 git branch --set-upstream-to=web/doc docs 来关联本地跟远程的分支(默认是本地master关联远程master,这里假设了本地仓库有docs分支,且远程仓库有doc分支)。
六、推送本地仓库到远程仓库
1、添加或删除或修改文件并且提交到本地仓库,说白了就是更新了本地仓库的内容,即与远程仓库的内容不一致;
2、使用 git push web docs 将本地的docs分支推送web的doc分支。
七、新建独立分支
1、使用 git checkout --orphan own 新建一个own独立分支,不与其他分支共享信息;
2、使用 git checkout own 切换到独立分支;
3、使用 git rm -rf * 删除独立分支中所有文件,将独立分支变成一个空文件夹;
4、使用 add、commit 来更新本地仓库信息,真正意义创建own独立分支;
5、使用 push 将独立分支推送到远程。
八、回退版本
1、使用 git log 根据提交信息把版本号copy下来,这里假设版本号为5678910abcd的版本提交了无BUG的更新;
2、使用 git reset --hard 5678910abcd 将本地仓库回退到无BUG状态;
3、使用 push 将远程回退到无BUG版本。
九、以上为基本用法,有空再补上git更多高级用法~~~