首页 > 代码库 > Git 常用命令
Git 常用命令
获取Git仓库
git init 创建一个.git子目录,初始化Git仓库所有必需文件
git clone <url > <alias> 从 远程仓库拉下所有数据放入.git文件夹,并从中读取最新版本文件拷贝
基本命令
git add <file> 多功能命令,可以用来跟踪文件或将文件添加到暂存区
git commit -m "message" 提交到版本库 提交时要附上信息
git commit -a -m 跳过暂存区提交
git diff 查看已暂存和未暂存的修改
git rm 从工作目录删除指定文件
git rm -f (如果已经加入暂存区)强制删除
git rm --cached 从git仓库删除,但保留在工作目录
git mv 移动文件(改文件名)git log 查看提交历史 选项 -p 显示每次提交的内容差异 -2 显示最近两次提交 --stat 显示简略的统计信息
撤销操作
git commit --amend 重新提交(将替代前一次提交结果)
git reset HEAD <file> 取消文件暂存
git checkout -- <file> 撤销对文件的修改
git reset HEAD~2 回退所有内容到前2个版本
git checkout -- <file> 取消对文件的修改,还原到最近版本
git reset HEAD <file> 取消已经暂存的文件
git reset -hard origin/master 将本地状态回退到和远程一样
远程仓库使用
git clone [Remote Repository] 获取远程仓库到本地
git remote -v 获取远程仓库的详细信息
git remote add <short name> [url] 添加一个新的git远程仓库
git fetch <remote-name> 获取远程仓库中你没有的数据(需要将数据手动合并到工作目录)
git pull 自动抓取后合并远程分支到当前分支(需要设置一个分支跟踪一个远程分支,git clone会设置本地master分支跟踪克隆的远程仓库的master分支)
git push <remote-name> <branch> 推送到远程仓库(只有当你拥有远程仓库的写入权限,并且之前没人推送时,命令才生效)
git remote show [remote-name] 查看远程仓库信息
git remote rename 对远程仓库简写重命名
git remote rm 移除一个远程仓库
打标签
git tag 列出标签
git tag -a [tag] 创建附注标签
git show [tag] 显示标签信息
git tag [tag] 创建轻量标签
git tag -a [tag] [校验和或部分校验和] 后期标签
git push [remote-name] [tag] 推送标签到远程仓库(默认情况下标签不会被推送)
git push [remote-name] --tags 推送所有标签
git checkout -b <branch> [tag-name] 在特定标签上创建一个新分支
分支管理
git log --decorate 显示分支指针的指向(可选参数 --graph --all --oneline )
git checkout -b <branch> 创建并检出分支
git branch -d <branch> 删除分支(只是删除分支指针,-D 强制删除并会丢失工作信息)
git branch -v 显示每个分支最后一次提交的信息
git branch --merged 显示与当前分支合并的分支(未合并分支 --no-merged )
git push <remote> <localBranch>:<remoteBranch> 将本地分支提交到远程仓库(分支名称相同时等价于 git push <remote> <branch> )
git remote show <remote> 获取远程仓库分支信息
git checkout -b [branch] [remotename]/[branch] 在本地创建一个tracking branch(将会获取远程分支的一份拷贝,并追踪远程分支。
* git checkout --track [remotename]/[branch] 创建和远程分支同名的tracking branch (如果与本地分支同名的远程分支只有一个,那么等价于git checkout [branch]
git branch -u [remote]/[branch] 设定或更改当前分支的upstream branch( 追踪分支)
git branch -vv 查看tracking branches的信息
git push [remote] --delete [branch] 删除远程分支
Git 常用命令