git使用
在Windows上使用Git,可以从Git官网直接下载安装程序,(网速慢的同学请移步国内镜像),然后按默认选项安装即可。
安装完成后,在开始菜单里找到“Git”->“Git Bash”,蹦出一个类似命令行窗口的东西,就说明Git安装成功!
安装完成后,还需要最后一步设置,在命令行输入:
$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"
因为Git是分布式版本控制系统,所以,每个机器都必须自报家门:你的名字和Email地址。你也许会担心,如果有人故意冒充别人怎么办?这个不必担心,首先我们相信大家都是善良无知的群众,其次,真的有冒充的也是有办法可查的。
注意git config
命令的--global
参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。
--------------------------
2、生成key
ssh-keygen -t rsa -C “你刚才设置过得邮箱”
会提示你密码什么的、 可以忽略、一路回车。【这种做法是通用的、生成的key会保存到默认文件、下次生成不同的key会覆盖之前的key、下面会做出讲解如何配置多个key】。如果一切正常 那么界面如图:
- 1
5、生成的key配置到服务端
这个时候你可以在你本地电脑上找到如图的文件:
将key上传到服务端方式由你自己选择:可以打开文件复制 粘贴的服务端,也可以通过命令来执行复制操作。
服务端操作如图:
简单的代码提交流程
- git status 查看工作区代码相对于暂存区的差别
- git add . 将当前目录下修改的所有代码从工作区添加到暂存区 . 代表当前目录
- git commit -m ‘注释’ 将缓存区内容添加到本地仓库
- git push origin master 将本地版本库推送到远程服务器,
origin是远程主机,master表示是远程服务器上的master分支,分支名是可以修改的
Git add
git add [参数] <路径> 作用就是将我们需要提交的代码从工作区添加到暂存区,就是告诉git系统,我们要提交哪些文件,之后就可以使用git commit命令进行提交了。
为了方便下面都用 . 来标识路径, . 表示当前目录,路径可以修改,下列操作的作用范围都在版本库之内。
- git add .
不加参数默认为将修改操作的文件和未跟踪新添加的文件添加到git系统的暂存区,注意不包括删除 - git add -u .
-u 表示将已跟踪文件中的修改和删除的文件添加到暂存区,不包括新增加的文件,注意这些被删除的文件被加入到暂存区再被提交并推送到服务器的版本库之后这个文件就会从git系统中消失了。 - git add -A .
-A 表示将所有的已跟踪的文件的修改与删除和新增的未跟踪的文件都添加到暂存区。
Git commit
git commit 主要是将暂存区里的改动给提交到本地的版本库。每次使用git commit 命令我们都会在本地版本库生成一个40位的哈希值,这个哈希值也叫commit-id,
commit-id 在版本回退的时候是非常有用的,它相当于一个快照,可以在未来的任何时候通过与git reset的组合命令回到这里.
- git commit -m ‘message’
-m 参数表示可以直接输入后面的“message”,如果不加 -m参数,那么是不能直接输入message的,而是会调用一个编辑器一般是vim来让你输入这个message,
message即是我们用来简要说明这次提交的语句。 - git commit -am ‘message’ -am等同于-a -m
-a参数可以将所有已跟踪文件中的执行修改或删除操作的文件都提交到本地仓库,即使它们没有经过git add添加到暂存区,
注意: 新加的文件(即没有被git系统管理的文件)是不能被提交到本地仓库的。
Git push
在使用git commit命令将修改从暂存区提交到本地版本库后,只剩下最后一步将本地版本库的分支推送到远程服务器上对应的分支了,如果不清楚版本库的构成,可以查看我的另一篇,git 仓库的基本结构。
git push的一般形式为 git push <远程主机名> <本地分支名> <远程分支名> ,例如 git push origin master:refs/for/master ,即是将本地的master分支推送到远程主机origin上的对应master分支, origin 是远程主机名。第一个master是本地分支名,第二个master是远程分支名。
- git push origin master
如果远程分支被省略,如上则表示将本地分支推送到与之存在追踪关系的远程分支(通常两者同名),如果该远程分支不存在,则会被新建 - git push origin :refs/for/master
如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支,等同于 git push origin –delete master - git push origin
如果当前分支与远程分支存在追踪关系,则本地分支和远程分支都可以省略,将当前分支推送到origin主机的对应分支 - git push
如果当前分支只有一个远程分支,那么主机名都可以省略,形如 git push,可以使用git branch -r ,查看远程的分支名
关于 refs/for:
refs/for 的意义在于我们提交代码到服务器之后是需要经过code review 之后才能进行merge的,而refs/heads 不需要
Tortoisegit图文使用教程
本文只针对使用Tortoisegit的用户,使用命令行的后面可以不用看了
1.安装Git及Tortoisegit
先上图,首先需要把123按顺序安装了
Git下载地址:https://git-for-windows.github.io/
Tortoisegit及语言包下载地址:http://tortoisegit.org/download/
注:Tortoisegit是Git的一个插件,Git程序本身还是要安装的。
2.创建本地Git仓库
本地Git仓库的创建有两种,一是直接Clone已存在的Git仓库,二是本地创建
2.1.Clone仓库
在存放代码的目录点右键,选择Clone
输入Url,自动创建本地目录,也可以手动选择
部分操作截图如下: