上图来自网络:
Workspace:工作区
Index / Stage:暂存区
Repository:仓库区(或本地仓库)
Remote:远程仓库
1 设置账号和邮箱关联,账号和邮箱
$git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"
$ git config --global --list 查看邮箱配置
2 创建空目录:
$ mkdir test //创建空目录,目录名字为test
3 进入到某个目录的方法
$ cd test //进入test目录
4、初始化仓库,把目录变成git 可以管理的仓库:
$ git init
5 切换 到磁盘根目录:
$ git cd D: 切换到d盘根目录
6 添加 文件到暂缓区
$ git add . 添加当前文件夹下的所有文件
$ git add 文件夹加 后缀名
$ git add common/ main/
7 命令用来将本地暂存的修改提交到版本库。
$ git commit -m "fix titlebar show or hide" 我们用的比较多的应该就是-m 参数。添加提交信息。 双引号中是提交内容的注释
$ git commit -a -m ‘提交信息’ 我们知道-m参数是输入提交信息的,-a 参数就是可以把还没有执行add命令的修改一起提交。
$ git commit --amend 这个命令就比较优秀了。经过个人的探索,我总结了它的两个功能
1.可以修改上一次的提交信息。
2.可以将最近的修改追加到上一次的提交上。
会进入到vim 编辑器 然后 你会发现编辑器里你怎么输入都没反应,这是因为vim处在不可编辑状态,
按下字母键 c(此时进入编辑状态),可以开始修改注释信息了
修改好后,你会发现怎么都退出不了,然后如下操作:
按下Esc (退出编辑状态); 接着连按两次大写字母Z,你会惊喜的发现,终于保存好退出来了!
8 通过命令git status来查看是否还有文件未提交
$ git status
9 查看文件到底改了什么内容
$ git diff readme.txt
10 git log 可以让我们查看提交commit history
$ git log
$ git git log --pretty=oneline 只显示版本号 和修改内容注释;
11 git reflog 获取版本号
12 版本回退:
git reset --hard HEAD^ 回退到上一个版本;
git reset --hard 版本号 回退到某一个版本号
13 git checkout --readme.txt 意思就是,把readme.txt文件在工作区做的修改全部撤销
14 rm命令:rm b.txt 删除文件命令
15 添加远程仓库地址:
git remote add origin https://github.com/tugenhua0707/testgit.git
16 git push 的使用:
git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,
即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名,第一个master是本地分支名,第二个master是远程分支名
1.1 git push origin master
如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建
1.2 git push origin :refs/for/master
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin --delete master
1.3 git push origin
如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支
1.4 git push
如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
1.5 关于 refs/for
// refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要
17 查看分支:
$git branch 查看本地分支
$ git branch -r 查看远程分支
$git branch -a 查看所有分支
运行结果如下:
$ git branch -a
master 本地分支
* trunk
remotes/origin/HEAD -> origin/master 远程分支
remotes/origin/master 远程分支
remotes/origin/ 远程分支
②-------- git切换分支命令
18 切换分支:
$ git checkout -b zhanghanlun origin/zhanghanlun
PS: 作用是checkout远程的zhanghanlun(后面的是远程分支名) 分支,在本地起名为zhanghanlun (前面的是本地分支名)分支,并切换到本地的zhanghanlun 分支
19
git remote //查看远程仓库名称:origin
git remote get-url origin //查看远程仓库地址
git remote set-url origin https://github.com/developers-youcong/Metronic_Template.git ( 如果未设置ssh-key,此处仓库地址为 http://... 开头)
20 生成SSH key 生成秘钥
执行ssh-****** -t rsa -C "你的邮箱地址" 命令 生成ssh key
然后会叫你输入保存路径,直接按回车即可,保存在C盘用户目录下
然后会提示输入密码和确认密码,不用输入直接按两下回车即可