声明:本文为杰哥初学git时的总结,欢迎交流,如有不妥之处,欢迎批评指正,谢绝任何形式转载。
一、 本地git操作
1. 创建版本库
$ git init # 在库目录下调用
2. 添加stage和提交commit
$ git add <filename> # 提交stage
$ git commit -m “describe line” #提交commit
3. 查看状态
$ git status #查看工作区状态
$ git diff <filename> #查看工作区中文件与最新的commmit之间的不同<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
4. 版本退回
$ git log #查看历史commit,以便知道commitid
$ git reset --hard <commit_id > #转到该commit
$ git reflog #查看历史命令,可以知道未来的版本号,以便回到未来版本<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
5. 撤销修改
$ git checkout -- <filename> #将工作区中的filename文件恢复最近一次add或commit
$ git reset HEAD <filename> #将stage中待commit的修改取消
6. 删除文件
$ git rm <filename> #第一步:向stage提交删除文件的修改
$ git commit –m“delete filename” #向版本库提交删除
7. branch管理
$ git branch #查看现有的branch
$ git branch <branchname> #创建branch
$ git checkout <branchname> #切换到该branch
$ git merge --on-ff -m “description” <branchname> #创建一个新的commit, 并合并该branch
$ git branch -d <branchname> #删除该branch –d改成-D为强行删除<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"> </span>
8. 保存工作区
$ git stash #保存当前工作区状态
$ git stash list #查看已保存的工作区状态
$ git stash apply stash@{0} #恢复到该工作区状态
二、 远程git库操作——Github为例
1. 将本地库部署到github上
step1: 在github上创建一个新的空的库,作为远程库
step2: 在将本地库关联到远程库
$ git remote add origin <address of remote lib>
step3: 把想要上传的branch推送到远程库
$ git push -u origin master #在远程库上创建master分支,关联本地master,并把本地master推送到远程库
以后只要用 git push 即可向远程库的master推送本地master
2. 将远程库clone到本地
$ git clone <address of remote lib> #clone 远程库到本地,默认只clonemaster分支
$ git branch --set-upstream dev origin/dev #在本地创建dev分支,关联到远程库的dev,并抓取该内容
以后就可以用 git pull 抓取已关联的branch
3. 其他指令
$ git remote -v #查看远程库信息
$ git push -u origin :branch_name #删除远程分支branch_name,注意origin前有空格
三、 其他
1、 branch 管理:
2、 多人协作模式:
鸣谢
[1] 《Git教程》 廖雪峰, http://www.liaoxuefeng.com