首页 > 代码库 > 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 常用命令