作者:曲檀
链接: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 将本地和远程关联