git常用命令
一、代码上传
(1)git init
: 初始化git仓库
(2)git add --all / git add .
添加本地文件到暂存区
(3)git commit -m
“你的注释” 添加本地文件到版本库
(4)git remote add origin https://git.coding.net/ckq/dianshang.git
添加远程仓库地址
(5)git push -u origin master
第一次向远程仓库推送代码(要加-u)
(6)git push origin master
向远程仓库推送代码
二、代码下载
(1)直接克隆 :git clone https://git.coding.net/ckq/dianshang.git
克隆远程代码
(2)抓取 :· git init 初始化git仓库
· git remote add origin https://git.coding.net/ckq/dianshang.git
添加远程仓库地址
·git fetch origin master
抓取远程仓库代码(只有主支)
· git merge origin/master
合并到本地仓库
三、分支管理
git checkout -b dev
:创建一个名叫dev 的分支并切换到此分支
git branch
查看有几条分支
git checkout dev
切换到dev 分支
git branch -m oldname newname
更换分支名称
git merge dev
合并分支(要切换到要合并它的分支上,如 :master)
git branch -d dev
删除当前分支(强制删除:-D)
四、暂存(隐藏)当前分支
git stash
隐藏当前分支,相当于暂存
git stash list
列所有stash
git stash apply
恢复暂存的内容
git stash drop
删除暂存区
五、多人合作
- 情况一:本地没有项目,我想克隆一个(包括主分支和次分支)
(1)项目克隆:git clone ....
(2)建立次分支:git checkout -b dev origin/dev
(3)本地分支和远程分支进行连接:git branch --set-upstream-to origin/dev dev
- 情况二:本地没有项目,我只想抓取远程次分支
(1)建立一个本地库文件夹(最好与远程一致)
(2)初始化本地仓库:git init
(3)建立本地与远程之间的连接:git remote add origin https://git.coding.net/ckq/dianshang.git
(4)抓取次分支:git fetch origin dev
(5)合并到本地:git merge origin/dev
git checkout -b branch-name origin/branch-name
: 在本地创建和远程分支对应的分支
git push origin branch-name
: 可以试图推送自己的修改;
git pull
: 如果推送失败,则因为远程分支比你的本地更新,需要先用试图合并
如果合并有冲突,则解决冲突,并在本地提交;
没有冲突或者解决掉冲突后,再用git push origin branch-name
推送就能成功!
如果git pull提示“no tracking information
”,则说明本地分支和远程分支的链接关系没有创建,用命令git branch --set-upstream-to origin/dev dev
。
六、版本回退
git reflog
: 显示回退的id
git reset --hard commit-id
回到想要回退的版本
git reset --hard HEAD^^/git reset --hard HEAD~
回退到上一个版本
git reset HEAD~5
撤销过去5个commit的命令,然后在添加提交
七、其他命令
(1)git --version
查看当前git版本
(2)git help --all
查看git命令
(3)git diff
查看当前工作区域版本库有哪些区别,修改了什么内容
(4)git status
查看仓库当前状态
(5)git log
查看提交的历史记录
(6)git log --pretty=oneline
当前记录在一行显示
(7)git reflog
可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录
(8)git pull
更新本地仓库
(9)git remote -v
查看远程信息库pull和fetch详细信息
(10)git branch -r
查看远程分支
(11)git branch -a
查看所有分支
(12)git push --force origin dev
强制推荐dev分支(rebase后的分支历史改变了,可能导致不兼容现象)
(13)git remote rm <repository>
删除远程仓库
(14)git remote show origin
查看远程仓库的信息
其他一些注意事项
推送master分支到远程仓库 git push -u origin master
我们第一次推送master分支时,加上了-u参数,Git不但会把本地的master分支内容推送的远程新的master分支,还会把本地的master分支和远程的master分支关联起来,在以后的推送或者拉取时就可以简化命令
从远程仓库来取分支下来 git pull origin master
合并分支
git merge 分支名
报错! fatal:refusing to merge unrelated histories
在命令后面加上一句“--allow-unrelated-histories
”,即完整的命令为“git merge 分支名 --allow-unrelated-histories
”,
删除远程仓库分支:git push origin :分支名
咚!服务器上的分支没了。你最好特别留心这一页,因为你一定会用到那个命令,而且你很可能会忘掉它的
语法。有种方便记忆这条命令的方法:记住我们不久前见过的 git push [远程名] [本地分支]:[远程分支] 语法,如
果省略 [本地分支],那就等于是在说“在这里提取空白然后把它变成[远程分支]”。
注意origin后的空格
git add yourFile
(添加单个文件)
git add .
(添加修改或新增的全部文件)
git commit -m 'msg'
(提交)