赞
踩
git clone 可以将一个远程 Git 仓库拷贝到本地,让自己能够查看该项目,或者进行修改。
拷贝项目命令格式如下: git clone [url][url] 是你要拷贝的项目。
例如我们拷贝 Github 上的项目:
$ git clone https://github.com/tianqixin/runoob-git-test Cloning into 'runoob-git-test'... remote: Enumerating objects: 12, done. remote: Total 12 (delta 0), reused 0 (delta 0), pack-reused 12 Unpacking objects: 100% (12/12), done.
我们可以通过git config来配置用户名和邮箱地址,便于我们将代码提交到远程仓库,具体格式如下:
git config --global user.name '你的用户名' git config --global user.email '你的邮箱'
git add 命令可将文件添加到缓存,如新项目中,添加所有文件很普遍,可以使用如下命令:
git add .
注意:add有多种形式,可以add某个文件,某个文件夹,或直接add当前仓库下所有文件
git add 单个文件 git add 文件夹1/ 文件夹2/ ……多个文件夹之间空格隔开 git add .有时候我们
add
之后又改了代码,所以想重新add
,但是之前add但是没有commit
的文件还在,想撤销怎么办呢?
git status //查看已经add的 git reset . //撤销命令reset,此处表示撤销全部git reset HEAD 命令用于取消已缓存的内容,如我们要取消已提交的test.txt文件,可以如下使用:(撤销单个文件)
git reset HEAD test.txt
git commit 将缓存区内容添加到仓库中,可以在后面加-m选项,以在命令行中提供提交注释,格式如下:
git commit -m "第一次版本提交"
如果你觉得 每次 commit之前要add一下,想跳过add这一步,可以直接使用 -a选项,如:
git commit -am "第一次版本提交"
我们可以创建一个文件,并将它添加打缓存,之后在提交,具体操作如下:
如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。要从 Git 中移除某个文件,就必须要从已跟踪文件清单中移除,然后提交。可以如下使用:
git rm <file>
如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f
git rm -f <file>
可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:
git rm –r * rm -rf .git/ //强制删除暂存文件
- git branch:查看分支命令
- git branch (branchname):创建分支命令
- git checkout (branchname):切换分支命令
- git merge:合并分支命令
- git branch -d (branchname):删除分支命令
git branch #查看分支
git branch -a #查看所有分支,包括远程和本地
git branch name #创建分支
git checkout name #切换分支到name
git checkout -b name #创建一个新的分支并且立即切换到它
git merge name #在分支master上合并分支name
git branch -d name #删除本地分支name
git push origin --delete name #删除远程分支
git fetch和git pull的区别:
git fetch:相当于是从远程获取最新版本到本地,不会自动合并。
git pull:相当于是从远程获取最新版本并merge到本地。
git push
git push 推送你的新分支与数据到某个远端仓库命令,格式如下:
更新操作: $ git pull $ git pull origin 将远程主机 origin 的 master 分支拉取过来,与本地的 brantest 分支合并。 git pull origin master:brantest 如果远程分支是与当前分支合并,则冒号后面的部分可以省略。 git pull origin master
git push 命令用于从将本地的分支版本上传到远程并合并。 命令格式如下: git push <远程主机名> <本地分支名>:<远程分支名> 如果本地分支名与远程分支名相同,则可以省略冒号: git push <远程主机名> <本地分支名> 以下命令将本地的 master 分支推送到 origin 主机的 master 分支。 $ git push origin master //等价于$ git push origin master:master 或git push -u origin master 如果origin端还不存在本地分支dev,想将本地分支推送到远端可以使用 git push --set-upstream origin dev 删除主机的分支可以使用 --delete 参数,以下命令表示删除 origin 主机的 master 分支: git push origin --delete master
在开发中经常需要基于一个分支来创建子分支,然后在子分支上进行开发,最后验证功能无问题才会将子分支合并到主分支上去。将子分支合并到主分支上一般有两种方案,分别为:
git merge
:这种合并会在对应的主分支上产生合并的提交,以及对应子分支的提交情况。git rebase
:这种合并是变基的操作,相当于将子分支的 commit 直接提交到主分支上,此时主分支上不会有合并记录和对应子分支的提交情况,看起来比较清爽。现将子分支
dev
的代码以git rebase
的方式合并到主分支main
上且不要留下合并的记录,此时相当于将子分支的所有 commit 提交到当前的主分支上。如下:B
,C
为主分支上的提交,D
,E
为子分支的提交,现在要将子分支的两笔 commit 合并到主分支上。初始时状态:
对子分支 dev 进行
git rebase
之后,子分支的 commit 就被合并到主分支上,此时主分支的提交记录如下图所示:
git rebase
流程
# 1. 切换到主分支 main 上,其它分支的代码将被合并到该分支上 git checkout main # 2. 变基操作,对子分支 dev 进行变基操作,相当于将其所有的 commit 都提交到主分支(当前所在的分支)上去 git rebase dev # 3. 变基操作成功后,此时主分支上的代码选哟推送到远程代码仓中 git push【注意事项】
git rebase
的分支是基于目标分支进行创建的。git rebase
可能会遇到冲突需要解决但是如果是多个人在维护主分支main时,自己维护分支dev1,如果自己分支超前main分支,r如果想将dev1分支修改的内容合并到main分支
则最好先同步一下main分支,即将dev1变基onto main 操作: git checkout dev1 git rebash main git push 此时dev1和main分支同基 然后将dev1修改合并到main分支 操作: git checkout main git merge dev1
常见的操作命令:
参考:
Git 常用基本命令使用详细大全_git命令行-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。