基本命令
git init
初始化,创建一个git仓库,创建之后就会在当前目录生成一个.git的文件。
git add filename
把文件添加到缓冲区。
git add . 与 git add --all
添加所有文件到缓冲区。
git rm filename
删除文件。
git status
查看文件的状态,文件状态分为已经add的和没有add的。
git commit -m “提交的说明”
提交缓冲区的所有修改到本地仓库,即提交已经add的文件。
git commit –a –m "message"
等价于:
git add .
git commit –m "message"
git diff filename
比较,如果文件修改了,还没有提交,就可以比较文件修改前后的差异。
git log
查看日志。
git reset
版本回退。
第一种用法:回退到上一个版本(HEAD代表当前版本,有一个^代表上一个版本,以此类推)
git reset --hard HEAD^
第二种用法:回退到指定版本(其中d7b5是想回退的指定版本号的前几位)
git reset --hard d7b5
git reflog
查看仓库的操作历史。
git branch
查看分支的情况,前面带*号的就是当前分支。
git branch 分支名
新建分支。
git branch -d 分支名
删除分支。
git push origin --delete 分支名
删除远程分支。
git branch -m old分支名 new分支名
修改分支名。
git checkout 分支名
切换当前分支到指定分支。
git checkout -b 分支名
创建分支并切换到创建的分支。
git merge 分支名
合并某分支的内容到当前分支。
git pull
从远端库更新内容到本地。
git push
将本地分支的更新推送到远程主机上。
如果push的时候,本地和文件和远端文件有冲突,就要先pull、然后手动解决冲突,才能继续push。
git fetch
git fetch命令的作用是将远程主机上所有分支的更新取回本地,并记录在.git/FETCH_HEAD中。
获取远程主机上master分支的代码:git fetch origin
在本地新建test分支,并将远程主机上master分支代码下载到本地test分支:git fetch origin master:test
。
示例操作
本地初始化新的git库并上传到github
- 在github新建一个自己的仓库。
- 在本地新建一个目录,名为demo。
- 进入demo目录,执行
echo "this is my demo" >> README.md
,即新建README.md文件。 - 初始化本地git仓库:
git init
。 - 添加文件到缓存:
git add README.md
。 - 将本地缓存写入本地仓库:
git commit -m "first commit"
。 - 增加远程仓库test:
git remote add origin https://github.com/AuHZJ/test.git
。(新建github库的地址) - 将本地分支的更新推送到远程仓库上:
git push -u origin master
。(第一次要-u,之后就不需要了,直接git push) - 输入github的用户名密码完成推送。
远程clone git库
git clone https://github.com/AuHZJ/test.git
新建远程分支
- 新建本地分支:
git checkout -b feature/odps
- 新建同名远程分支:
git push origin feature/odps:feature/odps