Git 是一款源代码管理工具(版本控制工具), 咱们写的代码须要使用 git 去管理。管理工具备不少 如SVN vss vcs 等 咱们学习的是 git。git
2.1 前往git官网下载git软件 网址:https://git-scm.com/download/win github
2.2 直接双击安装便可。点击下一步,不修改任何设置 ,知道安装开始 ,就自动安装服务器
2.3 安装完成以后,在桌面任意位置右键单击,看到git 的图标(以下图),证实git 安装成功。 ssh
2.4 Git GUI Here 是git 的图形化操做界面 Git Bash Here 是git 命令输入窗口编辑器
在项目目录中右键单击,选择Git Bash Here 后单击打开命令窗口,输入命令: git init 回车. 这是就会建立一个 .git 的隐藏文件夹,他里面储存咱们备份的文件。此时咱们就能够在项目文件中开始写代码了。ide
每一次备份 都会把备份者的信息储存起来 --global表示全局配置,即配置一次就能够工具
配置用户名: git config --global user.name "zhangsan" 配置邮箱: git config --global user.email "zhangsan@sina.com“” 学习
3.3.1 先把代码放到仓库的大门口 命令: git add “文件的路径” 例如:git add "./readme.md 意思是把当前目录下的 readme.md 文件放到git 仓库的大门口idea
3.3.2 把大门口文件放到仓库的里面 命令: git commit -m "这是咱们完成的第一个功能” , git commit 就是无论咱们仓库门口有多少文件,此时会所有都将门口的文件放到仓库里面, -m 的做用是对这次放入到仓库代码的一个说明,m 是message 的意思,后面的说明内容须要用引号包裹。当出现以下图片的提示,说明咱们的文件已经成功放到git 仓库。spa
3.3.3 当咱们项目中有多个文件修改时,须要储存到git 仓库, 咱们可使用 git add ./ 来提交到仓库大门口(暂存区) ./ 表示项目文件夹下全部修改过的文件和新建的文件。例:
3.3.4 咱们每次都要执行 git add 文件路径 比较繁琐 这时 咱们只须要执行 git commit --all -m "这是一次性把代码放到仓库中(版本库)", all 表示全部的修改过的文件
当咱们执行代码 git add 的时候 把代码放到仓库大门口,大门口就被称做为暂存区。咱们的项目文件中被称做为工做区(不包含 .git)。当咱们执行git commit 命令时,是把文件放到仓库的里面,这里面被称为版本库。
当咱们了代码后,尚未执行放到git仓库的命令时(没有放到仓库大门口时,没执行git add),咱们执行命令git status,有以下提示
当咱们了代码后,而且将代码放到git仓库的大门口时(放到仓库大门口时,执行git add可是没实行git commit),咱们执行命令git status,有以下提示
当咱们了代码后,而且已经将代码彻底放到git仓库时(已经执行过git commit -m " "),咱们执行命令git status,有以下提示
在gitignore 在这个文件中能够设置要被忽略的文件或者目录,忽略的文件就不会提交到 git 仓库中。 在 .gitignore 文件中能够书写被忽略文件的路径,以 / 开头,一行写一个路径,这些路径所对应的文件都会被忽略,不会被提交到仓库。如: /.idea (.idea文件被忽略) /js (在js文件夹下的全部文件都会忽略) /js/*.js (在JS文件夹下的全部js文件都会忽略)
查看咱们提交过多少次代码 命令: git log
经过git log --oneline 能够查看简介版本的日志
回退到指定的版本 命令: git reset --hard Head~0 表示会退到上一次代码提交的状态, 0 表明索引
咱们还能够经过版本号实现回退 命令: git reset --hard b42839c 表示回退到版本号为b42839c 的那次提交的代码,例如
若是不当心咱们关闭了 git 命令窗口 当咱们再次打开时,git log --oneline 的版本日子都被清空了 咱们没法记住不少版本号 这时就须要 命令: git reflog 它能够看到每一次版本切换的记录,能够看到全部提交的版本号:
当咱们在建立一个功能未完成时,可是有须要储存到git仓库时,咱们能够本身建立一个分支(只有本身可使用),命令: git branch dev(或者是 git checkout -b dev) 意思是咱们建立了一个叫dev 的分支。在刚建立时 dev分支里面的东西(咱们提交的代码)和 master 分支里面的东西是同样的。
查看分支: 经过命令: git branch 这是会显示咱们建立的分支和主枝干(master) ,那个前面带有 星号※,表示是咱们当前正处于的那个枝干,如图:
切换分支: 命令 git checkout 分支名 例如:git checkout dev (切换到dev分支) git checkout master (切换到master主分支)。
注意:若是咱们的功能未完成就须要提交到git仓库时,咱们必须先切换到本身建立的分支,而后再执行 git add 文件路径 去提交,这样才能提交到本身建立的分支上
合并分支: 命令: git merge dev 此命令是在master分之下执行 表示把 dev 分支合并到 master上。在别的分支下也可执行,表示 git branch 命令输出的前面带有 * 的分支与merge后面跟的分支合并。
注意: 若是咱们想把分支提交的代码合并到主分支(master)上面,供你们一块儿使用,则须要先将分支经过 git checkout mater 切换到主分支上,而后经过git add ./.....再提交代码
删除分支: git branch -d 要删除的分支的名称 例如: git branch -d dev (删除的dev 分支) 注意: 该命令不能将要删除的分支下执行,如咱们要删除dev分支,则不能再dev分支下执行该命令,须要切换到主分支(master)或者其余分支
咱们能够经过git 把代码上传到 gitHub 的服务器上 ,别人能够随时经过命令去下载。 GitHub网址: https://github.com/ (当作github服务器来用)
建立GitHub仓储: 进入GitHub官网 注册登录后,点击右上角的加号,选择第一项 new repository (建立仓储)。
在命令窗口运行: git push 【地址】 master 这样就会把当前的分支长传到远程的 master 分支
示例: git push https://github.com/loverainbowBei/gitDemo.git master
成功上传到GitHub 服务器的样式 以下图:
从远程服务器拿代码(方法1 git pull 【地址】master): 当咱们须要从GitHub远程服务器上把别人的代码拿过来本身用时,须要用到 命令: git pull 【地址】master 这里不必定是master 只是master状况较多,这样就把远程的数据获得了(注意: 拿远程数据时,须要如今本地建立一个仓储),屡次执行,数据会合并,不会覆盖
从远程服务器拿代码(方法2 git clone 【地址】): 会获得远程仓库相同的数据,屡次执行会覆盖本地内容,clone会连同仓库的文件夹一块儿下载下来,通常只有在第一次从远程仓库下载代码时 使用
ssh方式上传代码。 生成公钥 和 私钥,在任意目录下打开命令窗口 命令:ssh-keygen -t rsa -C "邮箱",以下图所示,表示秘钥生成成功:
打开C盘 -->用户 --> 用户名(我这里是LiRun)-->.ssh文件夹 --> id_rsa(私钥) id_rsa.pub公钥()--> 将公钥文件用编辑器打开 -->复制里面全部代码(字符窜)-->回到GitHub官网单击登陆图标 --> 选择setting --> 左侧菜单栏选择 SSH and GPG keys --> 单击右侧New SSH key 按钮 --> title 名能够随便取 key的输入框中将刚才复制的字符串粘贴进去 -->点击Add SSH key -->SSH key添加完成
和https同样。先单击登陆旁边的加号 --> 选择 new repositry,建立一个新的仓储,-->命名,建立完成 --> 在新建的仓储中选择SSH而且复制其地址 --> 在命令窗口输入 : git push [地址] master --> 上传成功 以下图
注意:当多人已开发时,你们都会向GitHub上传代码,一样也会一块儿冲突,须要咱们手动修改,正常状况下咱们先从GitHub上拿到最新的数据,而后本身写了之后,再将代码上传至GitHub,可是咱们修改完代码上传以前,别人又一次将修改的代码上传了GitHub,此时咱们在用git pull 拿到最新的代码时,那么就会形成代码冲突,这是就须要咱们手动修改,冲突的代码还在编辑器都显示(别人刚刚上传的和你本身即将要上传的),咱们决定要留下哪个,而后把不须要的删除,如今本地仓储储存,git add ./ git commit -m " ". 而后再次上传到远程 git push 【地址】master。
一般咱们在修改完成代码,须要上传服务器时,要先pull,又由于若是服务器的版本和本地的版本不一样,咱们能够先把冲突解决,而后把最新的版本上传(push)至服务器
用一个变量代替服务器地址, 命令 git remote add 变量名 【地址】 例如: git remote add origin git@github.com:loverainbowBei/sshDemo.git
那么。咱们再pull 或者 push 是 ,就能够写简写为 git pull/push origin master 便可
咱们使用这个命令 git pull / push origin -u master 执行一次时。下一次再 pull 或者 push 时 就能够直接写 git pull 或者 git push 。由于加上 -u 执行一次以后,git 会把当前分支与远程指定的分支进行关联,他就至关于 git pull / push origin master
0f1db23
|