首页 > 代码库 > Git学习笔记总结和注意事项
Git学习笔记总结和注意事项
一、Git简介
Git是目前世界上最先进的分布式版本控制系统,其特点简单来说就是:高端大气上档次!
二、Windows上Git安装
最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑。不过,慢慢地有人把它移植到了Windows上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常运行了。
msysgit是Windows版的Git,从http://msysgit.github.io/下载,然后按默认选项安装即可。安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。三、创建版本库
什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。
所以,创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录:
$ mkdir learngit
$ cd learngit
$ pwd
/Users/michael/learngit
pwd命令用于显示当前目录。如果你使用Windows系统,为了避免遇到各种莫名其妙的问题,请确保目录名(包括父目录)不包含中文。第二步,通过git init命令把这个目录变成Git可以管理的仓库:
$ git init
Initialized empty Git repository in /Users/michael/learngit/.git/
这样版本库就创建好了。自动创建的.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。第三步,往版本库添加文件:所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,网页,所有的程序代码等等,Git也不例外。事实上使用windows的童鞋千万不要使用Windows自带的记事本编辑任何文本文件。建议你下载Notepad++代替记事本。
<span style="color:#000000;">//假如在当前目录创建了一个read.txt文件 $git add read.txt; //把文件添加到仓库 $git commit -m "wrote a readme file" //把文件提交到仓库,-m后面输入的是本次提交的说明,可以输入任意内容</span>
四、常用命令:
除了git add 和 git commit,其他常用命令如下:
1、git status:查看仓库当前的状态
2、git diff file:查看文件具体修改的内容,file是文件名
3、git log:显示从最近到最远的提交日志
4、cat read.txt:查看文件内容
5、git reflog:查看你使用的命令历史
6、git checkout -- read.txt:撤销对read.txt的所有修改,不要丢掉了--
7、git reset --hard id/^HEAD:回退版本,id是版本号,^HEAD是指向最新版本的指针
8、git rm read.txt:删除read.txt文件,记住要用commit提交才能真正从仓库删除,如果误删,可以用git checkout命令撤销
9、git remote add origin git@github.com:dwqs/csdn.git:将本地仓库和Github上的远程仓库关联,记得将dwqs换成你自己的账户名,csdn.git是你在GitHub上创建的仓库
10、git push -u origin master:把本地库的所有内容推送到远程库上,第一次提交加上-u,第二次提交可以不用了:git push origin master
11、git clone git@github.com:dwqs/csdn.git:把远程仓库csdn.git克隆到本地
12、git checkout -b name:创建name分支,该命令等价于:git branch name;git checkout name
13、git branch:查看当前分支
14、git checkout name:切换到name分支
15、git merge name:合并某分支到当前分支
16、git branch -d name:删除name分支
17、git branch -D name:强行删除name分支
18、git push origin name:将name分支推送到远程仓库
19、git remote -v:查看远程仓库信息
20、git tag:查看标签名
21、git tag tagname:创建标签
22、git show tagname:查看标签信息。注意:标签不是按时间顺序列出,而是按字母排序的。
23、git tag -a tagname -m tagdesc:创建带说明的标签
24、git tag -d tagname:删除指定标签
25、git push origin tagname:推送某个标签到远程仓库
26、git push origin --tags:一次性推送全部尚未推送到远程的本地标签
27、git push origin :refs/tags/tagname:可以删除一个远程标签。
28、git config --global alias.ps push:将ps作为push的别名,此时,git ps 等价于git push