git是分布式版本控制系统,是一个软件。 具有两大功能:版本控制 多人协助。
流程如下:
1.初始化一个Git仓库(Git init)
- 这个仓库会存放,git对我们项目代码进行备份的文件
- 在项目目录右键打开 git bash
- 命令: git init
2.设置用户名和邮箱(git config --global user.name)(git config --global user.email)
3.添加文件到仓库(git add 文件名1 文件名2)
4.提交(git commit -m "对添加的东西进行说明")
--all 表示是把所有修改的文件提交到版本库
5.查看版本 (git log)
6.回退(git reset -hard HEAD^/commit_id)
回退到指定的版本
git reset --hard Head~0
- 表示回退到上一次代码提交时的状态
git reset --hard Head~1
- 表示回退到上上次代码提交时的状态
git reset --hard [版本号]
- 可以通过版本号精确的回退到某一次提交时的状态
git reflog
- 可以看到每一次切换版本的记录:可以看到所有提交的版本号
查看当前的状态
- 可以用来查看当前代码有没有被放到仓储中去
- 命令:
git status
git中的忽略文件
- .gitignore,在这个文件中可以设置要被忽略的文件或者目录。
- 被忽略的文件不会被提交仓储里去.
- 在.gitignore中可以书写要被忽略的文件的路径,以/开头, 一行写一个路径,这些路径所对应的文件都会被忽略, 不会被提交到仓储中
- 写法 *
/.idea
会忽略.idea文件 */js
会忽略js目录里的所有文件 */js/*.js
会忽略js目录下所有js文件
GitHub
- github.com
- 不是git,只是一个网站
- 只不过这个网站提供了允许别通过git上传代码的功能
提交代码到github(当作git服务器来用)
git push [地址] master
- 示例:
git push https://github.com/huoqishi/test112.git master master
- 会把当前分支的内容上传到远程的master分支上
git pull [地址] master
- 示例:
git pull https://github.com/huoqishi/test112.git master
- 会把远程分支的数据得到:(注意本地-要初始一个仓储!)
git clone [地址]
- 会得到远程仓储相同的数据,如果多次执行会覆盖本地内容。
ssh方式上传代码
- 生成公钥,和私钥
ssh-keygen -t rsa -C "3287308097@163.com"
在push和pull操作进
- 先pull , 再push
- 当我们在push时,加上-u参数,那么在下一次push时 我们只需要写上
git push
就能上传我们的代码。(加上-u之后,git会把 当前分支与远程的指定的分支进行关联。git push origin master)