新建仓库
git init
或者导入远程仓库
git clone "url xxx"
配置仓库
git config --global user.name leo
git config --global user.email leo@github.com
常规命令
git log // 查看提交记录
git status // 查看本地文件修改状态
git status -s // 查看本地文件修改状态
git add 文件名 // 添加文件到“暂存区”
git add . // 添加所有文件到“暂存区”
git commit 文件名称 // 提交部分文件
git commit -am "描述" // 提交所有文件,并添加描述
git push origin 分支名 // 提交到远程分支
git pull origin 分支名 // 从远程分支拉去代码
git checkout 分支名 // 切换分支
git checkout . // 清除本地修改
git checkout 文件名 // 清除文件的本地修改
git branch // 查看分支
git branch 分支名 // 创建分支
git checkout -b 分支名 // 创建并切换到分支
git branch -d 分支名 // 删除本地分支
git push origin -d 分支名 // 删除远程分支
git diff 文件名 // 查看文件修改
git ls-remote // 查看仓库地址,及分支和tag
回退版本
# 已经提交
git reset --hard HEAD^ // —hard代表强制重置,返回上一个版本
git reset —-hard 版本号 // 重置到指定版本
# 未提交(未commit)
git checkout . // 放弃本地修改
git checkout 文件名 // 放弃本地文件部分文件修改
git reset -—hard HEAD // 回退到上一次提交的版,放弃本地修改
# 未提交(已commit)
git reset HEAD^ // 回到上一次未commit状态(文件修改还在)
#从暂存区恢复文件(文件夹)
git reset HEAD // 恢复所有文件
git reset HEAD xxx/ // 恢复部分文件
标签管理
git tag -a v1.0.0 -m “v1.0.0版本” // 添加tag
git tag -d v1.0.0 // 删除tag
git tag // 查看tag
git push origin v1.0.0 // 提交tag
git pull --tag // 拉取tag
git show v1.0.0 // 显示tag信息
合并代码
1. fast-forward方式
git merge dev
2. --no-ff:不使用fast-forward方式合并,保留分支的commit历史
git merge --no-ff dev
3. --squash:使用squash方式合并,把多次分支commit历史压缩为一次
git merge --squash dev
4. 合并另一分支部分文件, 如想合并 dev 的 test 文件夹
git checkout dev test
fast-forward方式是当条件允许的时候,git直接把HEAD指针指向合并分支的头,完成合并。属于“快进方式”,不过这种情况如果删除分支,则会丢失分支信息。因为在这个过程中没有创建commit。
分支重命名
a. 本地分支重命名
git branch -m oldbranchname newbranchname
b. 远程分支重命名 (假设本地分支和远程对应分支名称相同)
1. 重命名远程分支对应的本地分支
git branch -m oldbranchname newbranchname
2. 删除远程分支
git push origin :oldbranchname
3. 上传新命名的本地分支
git push origin newbranchname











网友评论