Git学习
一、创建
git init:把这个目录变成Git管理仓库
设置git的name和email
git config --global user.name "name"
git config --global user.email "email"
二、创建ssh连接
ssh-keygen -t rsa -C "youremail@example.com"
一路回车,创建成功后在目录C:\Users\Administrator 会生成.ssh的文件夹,里面有id_rsa和id_rsa.pub,即私钥和公钥,记住id_rsa不能告诉别人
三、克隆
git clone git@...
四、添加修改、提交、推送到远程
git init 把这个目录变成Git管理仓库(在相关文件夹目录下) git add test1.php test2.php 把文件添加到仓库 git commit -m "wrote a readme file" 把文件添加到本地版本库 git commit -am "test" (git add .和 git commit组合,有新增文件的不能用这个命令) git push 推送到远程主机
五、分支处理
git branch 查看当前分支
git chechout dev 切换到dev分支
git checkout -b dev 创建并切换到dev分支,相当于git branch+git chechout
git merge dev 把dev分支成果合并到master
git branch -d dev 删除分支dev
git remote -v 列出已经存在的远程分支 git remote add origin ssh://software@172.16.0.30/~/yafeng/.git 添加远程分支 git remote set-url test-m ssh://www-data@47.100.76.199//alidata/www/rrzuji_mini_person_git/.git 修改远程分支
六、查看日志、版本回退
git log 显示提交日志,获取commit id git reset --hard HEAD^ 回到上一个版本 git reset --hard 1094a 回退到指定版本(commit id)
a、未使用 git add 缓存代码时: 可以使用 git checkout -- a.php 放弃所有的文件修改可以使用 git checkout . b、已经使用了 git add 缓存了代码 可以使用 git reset HEAD a.php 来放弃指定文件的缓存, 放弃所有的缓存可以使用 git reset HEAD . 命令 c、已经用 git commit 提交了代码 可以使用 git reset --hard HEAD^ 来回退到上一次commit的状态。 回退到任意版本:git reset --hard commitid
七、文件对比
git diff filepath 工作区与暂存区比较 git diff HEAD filepath 工作区与HEAD ( 当前工作分支) 比较 git diff --staged 或 --cached filepath 暂存区与HEAD比较 git diff branchName filepath 当前分支的文件与branchName 分支的文件进行比较 git diff commitId filepath 与某一次提交进行比较