git常用命令

来源:互联网 发布:开通淘宝直播什么要求 编辑:程序博客网 时间:2024/06/05 18:02

1) 远程仓库相关命令

检出仓库:$ git clone git://github.com/jQuery/jquery.git

查看远程仓库:$ git remote -v  或者$git remote show [remotename]

添加远程仓库:$ git remote add [name] [url]

删除远程仓库:$ git remote rm [name]

修改远程仓库:$ git remote 远程仓库名 set-url [url]

拉取远程仓库:$ git pull [remoteName] [localBranchName]

推送远程仓库:$ git push [remoteName] [localBranchName]

 

*如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,如下:

$git push origin test:master         // 提交本地test分支作为远程的master分支

$git push origin test:test              // 提交本地test分支作为远程的test分支

 

2)分支(branch)操作相关命令

查看本地分支:$ git branch

查看远程分支:$ git branch -r

创建本地分支:$ git branch [name] ----注意新分支创建后不会自动切换为当前分支

切换分支:$ git checkout [name]

创建新分支并立即切换到新分支:$ git checkout -b [name]

删除分支:$ git branch -d [name] ---- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项

合并分支:$ git merge [name] ----将名称为[name]的分支与当前分支合并

删除远程分支:$git branch -dr [name] 

 

3)版本(tag)操作相关命令

查看版本:$ git tag

创建版本:$ git tag [name]

删除版本:$ git tag -d [name]

查看远程版本:$ git tag -r

创建远程版本(本地版本push到远程):$ git push origin [name]

删除远程版本:$ git push origin :refs/tags/[name]

合并远程仓库的tag到本地:$ git pull origin --tags

上传本地tag到远程仓库:$ git push origin --tags

创建带注释的tag:$ git tag -a [name] -m 'yourMessage'


4)恢复和比较

$git reflog 查看提交的版本信息

$git reset 版本名 将暂存区和本地仓库恢复到指定版本

$git reset --hard 版本名 将暂存区、本地仓库、工作区恢复到指定版本

$git reset --hard HEAD~3 恢复到最后第三次的版本

$git checkout * 恢复暂存区所有文件到工作区

$git checkout 文件名  恢复暂存区指定文件到工作区

$git diff   比较工作区与暂存区的区别

$git diff --cached 比较暂存区与当前分支仓库区别

$git diff 远程主机名(仓库)/远程分支名  本地分支  比较远程分支和本地分支的区别

=====================

Git 常用命令

git config --list 看所有用户

git常用命令:
git init  #创建一个git文件,用作在本地创建git仓库
git add 文件    #添加指定文件到暂存区(跟踪文件)
git rm --cached -r 文件   #删除缓冲区文件(即删除追踪)
git rm -rf文件     #删除暂存区里的文件和工作区,多个用空格分开
git ls-files      查看暂存区里的文件
git mv 旧文件名 新文件名   #将工作区的文件名改了添加到暂存区
git commit -m "message"  #将暂存区里的内容提交到仓库(当前分支版本)
git checkout 文件名      #将暂存区的某个文件恢复到工作区
git checkout *           #恢复暂存去所有文件到工作区
git reset --hard 分支(即分支仓库) #恢复某个分支版本库到暂存区和工作区
git remote add 远程主机名 地址 #添加远程仓库git remote add origin https://www.github.com/LeiLeee/family
git remote     #查看远程仓库名
git remote -v   #查看远程仓库和详细信息
git branch -r   #查看远程分支
git branch -a   #查看所有分支
git checkout -b 分支名  #创建分支且切换到该分支
git branch 分支名   #创建分支
git checkout 分支名  #切换到该分支
git branch -d 分支名  #删除本地分支
git branch -dr 分支名 #删除远程分支
git status     #查看当前分支修改的文件且还未提交
git diff       #查看工作区和暂存区有什么不同
git diff --cached   #查看暂存区与当前分支仓库(当前分支仓库)有什么不同
git diff 远程主机名 分支  #查看当前分支仓库与远程仓库有什么不同
git fetch 远程主机 分支   #取回远程仓库的分支(即分支版本库)
git merge 分支名         #合并该分支到本分支  (一般加上 --allow-unrelated-histories)
git pull 远程主机名 远程分支:本地分支 #取回远程仓库的分支(即分支版本库)并合并到本分支
git push 远程主机名 本地分支 :远程分支     #将本地分支仓库推送到远程仓库的固
定分支
git reflog    #查看所有提交的版本信息
git reset 版本名  #将暂存区和本地仓库恢复到该版本时的情况
git reset --hard 版本名   #将暂存区和本地仓库和工作区恢复到该版本时的情况
git reset --hard HEAD~3   #恢复到最后第三次提交时的版本 HEAD表示当前版本、
HEAD^最后一次提交的版本
git clone 版本库网址 本地目录名   #如 git clone
https://github.com/jquery/jquery.git 从远程仓库克隆指定版本到本地

git push 被拒绝的情况

1.因为当前分支的最新提交落后于其对应的远程分支,所以我们先从远程库fetch到更新再和本地库合并,之后就可以git push操作了。
![rejected]   non-fast-forward

2.在网站上改了README.md文件,添加一些项目的说明,然后用git push时,需要没有将远程仓库合并在本地(更新服务器变化)然后在push
![rejected]   fetch-first

git log 看你commit的日志

git stash push 将文件给push到一个临时空间中

git stash pop 将文件从临时空间pop下来

---------------------------------------------------------