注意:执行git commit 命令时,可能会提示进行用户和邮箱的配置,该配置用于记录当前版本由那个用户提交 git config --local user.name 'apollo' git config --local user.email 'you@example.com'
git init,初始化,表示即将对当前文件夹进行版本控制。
git status,查看Git当前状态,如:那些文件被修改过、那些文件还未提交到版本库等。git add 文件名,将指定文件添加到版本库的暂存状态。git commit -m '提交信息',将暂存区的文件提交到版本库的分支。git log,查看提交记录,即:历史版本记录 log 看不到回退版本号之后的版本记录) git reset --hard 6c439d2fd0d943f36f3ee84e158ff86b052961d2 # 命令执行完,工作区的所有文件就变成未开发非洲专区功能之前了git reflog 查看所有提交记录,即:所有历史版本记录 版本回退后,仍然可以看到所有的版本记录stash相关常用命令: git stash 将当前工作区所有修改过的内容存储到“某个地方”,将工作区还原到当前版本未修改过的状态 git stash list 查看“某个地方”存储的所有记录 git stash clear 清空“某个地方” git stash pop 将第一个记录从“某个地方”重新拿到工作区(可能有冲突) git stash apply 编号, 将指定编号记录从“某个地方”重新拿到工作区(可能有冲突) git stash drop 编号,删除指定编号的记录
方案二:branch
branch相关常用命令:
git branch 分支名称 创建分支
git checkout 分支名称 切换分支 git branch -m 分支名称 创建并切换到指定分支 git branch 查看所有分支 git branch -d 分支名称 删除分支 git merge 分支名称 将指定分支合并到当前分支 git remote add origin https://github.com/WuPeiqi/pondo.git # 为地址起一个别名origingit push origin master # 将本地master分支内容以及版本信息推送到GitHub Username for 'https://github.com': # 输入GitHub用户名 Password for 'https://wupeiqi@github.com': # 输入GitHub密码git push origin dev # 将本地dev分支内容以及版本信息推送到GitHub
git clone https://github.com/WuPeiqi/pondo.git # 将项目从GitHub中获取git Branch # 默认获取到得只有master分支git branch dev origin/dev # 创建dev分支且和远程dev分支同步 git checkout dev # 切换到dev分支 git pull origin dev # 获取dev分支 git fetch origin/dev git merge origin/dev 改git rebase origin 不会出现分叉记录,保持提交记录的整洁 2. 用户凭证由于Git和Github交互操作可能会很频繁,那么一定少了用户授权的操作,为了防止每次操作重复输入用户名和密码,Git提供了两种解决方法:
秘钥
首先创建一对秘钥 ssh-keygen -t rsa,然后将 id_rsa.pub (公钥)内容拷贝到github中,日后操作无需再输入用户名和密码。 注意:这种方式需要使用GIt中 git@github.com:WuPeiqi/xxxxx.git 格式地址。密码Https访问git时,避免每次操作需要输入用户名和密码,可以在配置文件中添加如下配置项: [credential] helper = store/cache/第三方store: 表示将用户名和密码保存在硬盘上 第一次输入过用户名和密码之后,用户名和密码就会保存在当前用户根目录的 .git-credentials 文件中,内容格式为:https://用户名:密码@github.com自动添加配置命令:git config credential.helper store
cache: 表示将用户名和密码保存在缓存中 第一次输入过用户名和密码之后,用户名和密码就会保存在缓存中,默认超时时间是 900 秒,缓存相关文件保存在当前用户根目录的 git-credential-cache 中 自动添加配置命令: git config credential.helper cache git config credential.helper 'cache --timeout=300'相关操作:
清除缓存:git credential-cache exit 指定超时: [credential] helper = cache --timeout=300注意: 这种方式需要使用GIt中 https://github.com/WuPeiqi/xxxx.git 格式地址。 指定用户名和密码: https://用户名:密码@github.com/wupeiqi/xxx.git
第五阶段:给别人代码贡献力量
问题: 如果你要在github上给别人代码添加功能? fork pull request 其他: a. 不用反复输入用户名密码登录 Https: https://用户名:密码@github.com/WuPeiqi/dbhot.git git remote add origin https://用户名:密码@github.com/WuPeiqi/dbhot.git SSH: git@github.com:WuPeiqi/dbhot.git b.提交时让其忽略一些文件 1, 创建 .gitignore文件 2, 在里面写上 *.pyc \n *.sql 忽略以.pyc/.sql结尾的所有文件,提交 以斜杠“/”开头表示目录; 以星号“*”通配多个字符; 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表; 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录; c. 版本 git tag -a v1.0 -m '版本介绍' 本地创建Tag git show v1.0 查看 git tags -n 查看本地Tag git tag -l 'v1.4.2.*' 查看本地Tag,模糊匹配 git tag -d v1.0 删除Tag git push origin :refs/tags/v0.2 更新远程tag git checkout v.10 切换tag git fetch origin tag V1.2git push origin --tags
git pull origin --tags git clone -b v1.0 https://github.com/WuPeiqi/dbhot.git