Git

617 查看

作者:曲檀
链接:https://www.zhihu.com/questio...
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

git init将当前目录作为Git仓库(该目录下文件不会自动添加)
git add 将file添加到仓库
git rm 从仓库中删除
git commit -m”语句” 提交本次修改
    add是从工作区将提交到缓冲区,commit将缓冲区提交到仓库

提交修改

git status 查看工作区状态
git diff 显示仓库和本地有哪些区别
git add 提交修改

撤销修改

git checkout – 将文件撤回add或commit前的状态
git reset HEAD 将暂存区的修改撤销

版本回退

git log 显示Commit日志
git reflog查看
git reset –hard HEAD^ 回退到上个版本
    HEAD代表当前,HEAD^代表上一个版本

远程仓库

$ssh-keygen -t rsa -C "youremail@example.com"
    创建秘钥后在~/.ssh中找到id_rsa.pub添加到github中
$ git remote add origin git@github.com:name/learngit.git
    将本地和远程关联起来
git push -u origin master 将本地推送到远程
$ git clone git@github.com:name/gitskills.git
    从远程克隆到本地

分支管理

git branch 查看分支
git branch name 创建分支
git checkout 切换分支
git checkout -b 创建切换分支
git merge 合并某分支到当前分支
    git –no-ff merge 禁用fast forward可以显示合并
    出现冲突后修改冲突文件,然后add->commit后自动合并
git branch -d 删除分支
    git branch -D 强制删除没有合并的分支

多人协作

git remote -v 查看远程仓库
git push origin master 推送分支
git checkout -b dev origin/dev 复制远程的某个分支到本地
每次提交前git pull将远程和本地合并
git branch –set-upstream branch-name origin/branch-name 将本地和远程关联