三、git常用命令
一、初始化仓库
1 #在当前目录新建一个Git代码库 2 git init
不用初始化仓库,直接克隆
1 #下载一个远程仓库的项目和它的整个代码史 2 git clone [url]
二、增加/删除文件
1 #添加指定文件到暂存区 2 git add [file1] [file2] ... 3 4 #添加指定目录到暂存区,包括子目录 5 git add [dir] 6 7 #添加当前目录的所有文件到暂存区 8 git add . 9 --------------------------------------------- 10 #删除工作区文件,并将这次删除放入暂存区 11 git rm [file1] [file2] ...
三、代码提交
1 #提交暂存区到仓库区 2 git commit -m "[message]" [文件名(可选)] 3 4 #提交暂存区的指定文件到仓库区 5 git commit -m "[message]" [file1] [file2] ...
四、查看文件信息
1 #查看所有文件状态 2 git status 3 4 #查看指定文件状态 5 git status [filename]
五、分支操作
1 #查看本地所有分支 2 git branch 3 4 #查看远程所有分支 5 git branch -r 6 7 #查看所有分支(本地分支和远程分支) 8 git branch -a 9 10 #查看每一个分支的最后一次提交 11 git branch -v 12 13 #新建一个分支(但仍然留在当前分支) 14 git branch [branch-name] 15 16 #切换到指定分支 17 git checkout [branch-name] 18 19 #新建一个分支并切换到该分支(组合用法) 20 git checkout -b [branch-name] 21 22 #拉取远程分支并在本地创建分支(注:远程分支前加origin) 23 git checkout -b [local_branch] origin/[remote_branch] 24 25 #建立本地仓库(dev)和远程仓库(dev)的链接,这样代码才能提交上去 26 git branch --set-upstream-to=origin/dev 27 #取消对master的跟踪 28 git branch --unset-upstream master 29 30 #合并指定分支(branch-name)到当前分支(一般在master上操作) 31 git merge [branch-name] 32 33 #删除本地分支 34 git branch -d [branch-name] 35 36 #删除远程分支(写法一),危险操作 37 git branch -r -d [远程仓库别名/远程分支名] 38 #删除远程分支(写法二) 39 git push origin --delete [branch-name] 40 #删除远程分支(写法二简写) 41 git push origin :[remote_branch] 42 43 #重命名分支:如果newbranch名字已经存在,则需要使用-M强制重命名,否则,使用-m进行重命名 44 git branch -m|-M [oldbranch-name] [newbranch-name]
六、远程同步
1 #下载远程仓库的所有变动 2 git fetch <远程仓库别名> 3 4 #显示所有远程仓库 5 git remote -v 6 7 #本地仓库添加一个新的远程仓库,并命名 8 git remote add [远程仓库别名:默认origin] [远程仓库地址url] 9 10 #下载一个项目和它的整个代码史(此操作不必初始化本地仓库) 11 git clone [url] 12 13 #拉取远程仓库的变化,并与本地分支合并(建立链接) 14 git pull <远程仓库别名> [远程分支名]:[本地分支名] 15 #简写:(远程分支名和本地分支名相同) 16 git pull <远程仓库别名> [分支名] 17 18 #推送到远程仓库(branch-name:本地分支名) 19 git push -u <远程仓库别名> [branch-name] 20 #远程已有分支,但未关联本地分支(本地已切换到同名分支) 21 git push -u origin/remote_branch 22 23 #创建远程分支&推送本地分支到远程分支 24 #1、会创建远程分支 25 #2、远程分支与本地分支名字相同 26 git push <远程仓库别名> [远程分支名] 27 28 #强行推送当前分支到远程仓库,即使有冲突 29 git push <远程仓库别名> --force 30 31 #推送所有分支到远程仓库 32 git push <远程仓库别名> --all