git init 初始化了一个空仓库,用于在目录中创建新的Git仓库。 在目录中执行git init就可以创建一个Git仓库了。
仓库是程序中被Git主动跟踪的一组文件。Git用来管理仓库的文件都存储在隐藏的目录.git中,你根本不需要与这个目录打交道,但千万不要删除它,否则将丢失项目的所有历史记录。
创建分支:git branch dev
切换分支: git checkout dev
创建并切换:git checkout -b dev
git status 检查项目的状态,输出信息会指出位于哪个分支上,是否有需要提交的修改等。
git branch 不带参数:列出本地已经存在的分支,并且在当前分支的前面用"*"标记
git branch -r 查看远程版本库分支列表
git branch -a 查看所有分支列表,包括本地和远程
git branch dev 创建名为dev的分支,创建分支时需要是最新的环境,创建分支但依然停留在当前分支
git checkout dev 切换到dev分支
git checkout -b dev 创建并切换到dev分支
git branch -d dev 删除dev分支,如果在分支中有一些未merge的提交,那么会删除分支失败,此时可以使用 git branch -D dev:强制删除dev分支
git branch -vv 查看本地分支对应的远程分支
git remote -v 查看版本号
clone地址:(http传输)
设置git提交时的用户名和邮箱
1.全局设置(对所有git工程都有效)
设置用户名:git config --global user.name 用户名
设置邮箱: git config --global user.email 邮箱
2.对特定工程设置(要在命令行中切换到特定工程目录下执行)
设置用户名:git config user.name 用户名
设置邮箱: git config user.email 邮箱
clone地址:(https传输,本地Git仓库和GitHub仓库之间的传输是通过SSH加密的)
1、创建SSH Key:ssh-keygen -t rsa -C "lina@whbaihongsoft.com"
一路回车,使用默认值即可,无需设置密码。顺利完成后可在用户主目录里找到.ssh目录,里面有id_rsa和id_rsa.pub两个文件,这两个就是SSH Key的秘钥对,id_rsa是私钥,不能泄露出去,id_rsa.pub是公钥,可以放心地告诉任何人。
2、登录GitHub,打开用户设置->个人资料->SSH密钥页面,复制步骤1中的id_rsa.pub文件的内容粘贴到密钥文本框中,Comment任意填写内容,如key,点击【添加】,页面上方就可以看到已经添加的key
git pull origin dev 将远程的拉下来
git push origin 将当前分支推送到origin主机的对应分支
git stash 将本地代码回滚值至上一次提交的时候,就是没有你新改的代码
git log 后满屏放不下时会显示冒号,回车(往下滚一行)、空格(往下滚一页)可以继续查看剩余内容,输入字母q即可退出
提交:(当前位于dev分支)
1、把修改的代码在dev分支下提交:git add 文件名(指定文件提交) 或:git add . (将本地所有修改了的文件添加到暂存区)
2、提交修改信息:git commit -m "版本说明信息" (引号里面是介绍,就是这次的提交是什么内容,便于以后查看,这个是将索引的当前内容与描述更改的用户和日志消息一起存储在新的提交中)
3、把代码都拉下来:git pull (每次git push前都需要git pull下,直接git push会造成代码冲突,git pull提示有冲突就解决冲突后再进行提交)
4、将修改的内容推送至远程仓库:git push origin dev
git pull提示有冲突,很简单,把冲突的文件(是你自己做的那份复制里面的内容到记事本,确保你写的东西不会丢失)之后按它提示的来合并,它合并完之后,再提交
将dev分支代码合并到master分支:(一般由管理员来执行该操作)
1、需要把提交的代码合并到master分支上,先切换到master分支:git checkout master
2、把代码都拉下来:git pull
3、把dev提交的代码合并到master分支上:git merge dev
4、把代码推送到远程仓库:git push origin master
删除:
rm 文件名 删除工作区文件
这时git知道删除了文件,因此工作区和版本库就不一致了,git status命令会立刻提示哪些文件被删除了
现在有两个选择:
一是确实要从版本库中删除该文件,执行git rm删掉,并且git commit
(通过rm操作删除后,可以使用git add或者git rm将文件放入暂存区,再通过git commit将暂存区上传)
注:如果通过git rm将文件放入暂存区后,还想让文件回来,那么可以像之前操作一样:先通过git reset对操作撤销,再通过git checkout丢弃暂存区的修改。
二是使用checkout的方法对数据进行恢复
git checkout -- 文件名
git commit与git push的区别
git作为支持分布式版本管理的工具,它管理的库(repository)分为本地库、远程库。
git commit操作的是本地库,git push操作的是远程库。
git add 将自己的修改提交到缓存中
git commit 将缓存中的修改提交到本地仓库。
git push 将本地仓库中的修改提交到github远程仓库。
git add命令将文件添加到“文件更改索引”列表中。此过程也称为暂存,实际上记录更改的文件和执行的更改。
git commit命令记录/完成更改和相应的索引列表以及自定义消息,可用于以后的参考。
请记住,您仍然只更改存储库的本地副本,而不更改Github上的副本。 之后只有当您执行git push,所有这些记录的更改以及每次提交的索引文件才会记录在主存储库(位于Github上)上。
需要注意的三件事:
1) 工作目录 -----包含我们的代码文件的文件夹
2) 本地存储库 ------这在我们的系统内部。 当我们第一次执行COMMIT命令时,将创建此本地存储库。 在我们的工作目录所在的位置,Checkit(.git)文件被创建。
之后,一旦我们提交,它将把我们在工作目录文件中所做的更改存储到本地存储库(.git)
3) 远程存储库 -----它位于我们系统的外部,就像在世界上任何地方的服务器上一样。 像github。 当我们执行PUSH命令时,本地存储库中的代码将存储到此远程存储库中 。