㈠ kali linux如何使用GIT clone
在linux下搭建git环境1、创建Github账号,https://github.com2、Linux创建SSH密钥:
[plain] view plain01.ssh-keygen ##一直默认就可以了
3、将公钥加入到账户信息Account Settings->SSH Key4、测试验证是否成功。
[plain] view plain01.ssh -T [email protected] 02.Hi someone! You've successfully authenticated, but GitHub does not provide shell access.
同步github到本地1、复制项目到本地:
[plain] view plain01.git clone git://github.com:xxxx/test.git ##以gitreadonly方式克隆到本地,只可以读 02.git clone [email protected]:xxx/test.git ##以SSH方式克隆到本地,可以读写 03.git clone https://github.com/xxx/test.git ##以https方式克隆到本地,可以读写 04.git fetch [email protected]:xxx/xxx.git ##获取到本地但不合并 05.git pull [email protected]:xxx/xxx.git ##获取并合并内容到本地
本地提交项目到github1、本地配置
[plain] view plain01.git config –global user.name 'onovps' 02.git config –global user.email '[email protected]' #全局联系方式,可选
2、新建Git项目并提交到Github。
[plain] view plain01.mkdir testdir & cd testdir 02.touch README.md 03.git init #初始化一个本地库 04.git add README.md #添加文件到本地仓库 05.git rm README.md #本地倒库内删除 06.git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。 07.git commit -a ##自动更新变化的文件,a可以理解为auto 08.git remote add xxx [email protected]:xxx/xxx.git #增加一个远程服务器的别名。 09.git remote rm xxx ##删除远程版本库的别名 10.git push -u remotename master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上。
分支版本操作1、创建和合并分支
[plain] view plain01.git branch #显示当前分支是master 02.git branch new-feature #创建分支 03.git checkout new-feature #切换到新分支 04.vi page_cache.inc.php 05.git add page_cache.inc.php 06.git commit -a -m "added initial version of page cache" 07.git push origin new-feature ##把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为。
2、如果new-feature分支成熟了,觉得有必要合并进master
[plain] view plain01.git checkout master #切换到新主干 02.git merge new-feature ##把分支合并到主干 03.git branch #显示当前分支是master 04.git push #此时主干中也合并了new-feature的代码
git命令使用思维图:【非常有料】
㈡ Git怎么推送本地分支到远程新分支上面去
Git常用操作命令收集:
1) 远程仓库相关命令
检出仓库:$gitclonegit://github.com/jquery/jquery.git
查看远程仓库:$gitremote -v
添加远程仓库:$gitremote add [name] [url]
删除远程仓库:$gitremote rm [name]
修改远程仓库:$gitremote set-url –push[name][newUrl]
拉取远程仓库:$gitpull [remoteName] [localBranchName]
推送远程仓库:$git push[remoteName] [localBranchName]
2)分支(branch)操作相关命令
查看本地分支:$gitbranch
查看远程分支:$gitbranch -r
创建本地分支:$gitbranch [name] —-注意新分支创建后不会自动切换为当前分支
切换分支:$gitcheckout [name]
创建新分支并立即切换到新分支:$gitcheckout -b [name]
删除分支:$gitbranch -d [name] —- -d选项只能删除已经参与了合并的分支,对于未有合并的分支是无法删除的。如果想强制删除一个分支,可以使用-D选项
合并分支:$gitmerge [name] —-将名称为[name]的分支与当前分支合并
创建远程分支(本地分支push到远程):$git pushorigin [name]
删除远程分支:$git pushorigin :heads/[name]
我从master分支创建了一个issue5560分支,做了一些修改后,使用git pushorigin master提交,但是显示的结果却是'Everything up-to-date',发生问题的原因是git pushorigin master 在没有track远程分支的本地分支中默认提交的master分支,因为master分支默认指向了origin master 分支,这里要使用git pushorigin issue5560:master 就可以把issue5560推送到远程的master分支了。
如果想把本地的某个分支test提交到远程仓库,并作为远程仓库的master分支,或者作为另外一个名叫test的分支,那么可以这么做。$git pushorigin test:master // 提交本地test分支作为远程的master分支//好像只写这一句,远程的github就会自动创建一个test分支$git pushorigin test:test // 提交本地test分支作为远程的test分支如果想删除远程的分支呢?类似于上面,如果:左边的分支为空,那么将删除:右边的远程的分支。$git pushorigin :test // 刚提交到远程的test将被删除,但是本地还会保存的,不用担心
3)版本(tag)操作相关命令
查看版本:$gittag
创建版本:$gittag [name]
删除版本:$gittag -d [name]
查看远程版本:$gittag -r
创建远程版本(本地版本push到远程):$git pushorigin [name]
删除远程版本:$git pushorigin :refs/tags/[name]
4) 子模块(submole)相关操作命令
添加子模块:$gitsubmole add [url] [path]
如:$gitsubmole addgit://github.com/soberh/ui-libs.gitsrc/main/webapp/ui-libs
初始化子模块:$gitsubmole init —-只在首次检出仓库时运行一次就行
更新子模块:$gitsubmole update —-每次更新或切换分支后都需要运行一下
删除子模块:(分4步走哦)
1)$gitrm –cached [path]
2) 编辑“.gitmoles”文件,将子模块的相关配置节点删除掉
3) 编辑“.git/config”文件,将子模块的相关配置节点删除掉
4) 手动删除子模块残留的目录
5)忽略一些文件、文件夹不提交
在仓库根目录下创建名称为“.gitignore”的文件,写入不需要的文件夹名或文件,每个元素占一行即可,如
target
bin
*.db
㈢ Git远程操作详解
1.git remote命令列出所有远程主机 2.使用-v选项,可以参看远程主机的网址 3.git remote show命令加上主机名,可以查看该主机的详细信息。 4.git remote add命令用于添加远程主机 5.git remote rm命令用于删除远程主机 6.git remote rename命令用于远程主机的改名 1.默认情况下,git fetch取回所有分支(branch)的更新到本地。 2.如果只想取回特定缓型分支的更新,可以指定分支名。 3.git branch命令的-r选项,可以用来查看远程分支,-a选项查看所有分支 4.回远程主机的更新以后,可以在它的基础上,使用git checkout命令创建一个新的分支 5.在本地分支上合并远程分支,表示在当前分支上,合并origin/master 1.取回远程主机某个分支的更新,再与本地的指定分支合并 2.取回origin主机的next分支,与本地的master分支合并 3.如果远程分支是与当前分支合并,则冒号后面的部分可以省略。 4.上述操作,等同于先做git fetch,再做git merge 5.指定当前分支追踪origin/next分支。 如果当前分支与远程分支存在追踪关系,git pull就可以省略远程分支名 6.如果远程主机删除了某个分支,默认情况下,git pull 不会在拉取远程分支的时候,删除对举如应的本地分支。 这是为了防止,由于其他人操作了远程主机,导致git pull不知不觉删除了本地分支。 但是,你可以改变这个行为,加上参数 -p 就会在本地删除远程已经删除的分支。 Git 远程仓库没有实时更新分正哪启支使用: 1.git push命令用于将本地分支的更新,推送到远程主机。它的格式与git pull命令相仿 git pull是<远程分支>:<本地分支>,而git push是<本地分支>:<远程分支> 2.如果省略远程分支名,则表示将本地分支推送与之存在"追踪关系"的远程分支(通常两者同名), 如果该远程分支不存在,则会被新建。 3.如果省略本地分支名,则表示删除指定的远程分支,因为这等同于推送一个空的本地分支到远程分支。 4.如果当前分支与远程分支之间存在追踪关系,则本地分支和远程分支都可以省略 5.如果当前分支与多个主机存在追踪关系,则可以使用-u选项指定一个默认主机, 这样后面就可以不加任何参数使用git push 6.不带任何参数的git push,默认只推送当前分支,这叫做simple方式。 此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。 Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。 如果要修改这个设置,可以采用git config命令 7.还有一种情况,就是不管是否存在对应的远程分支, 将本地的所有分支都推送到远程主机,这时需要使用–all选项 8.如果远程主机的版本比本地版本更新,推送时Git会报错,要求先在本地做git pull合并差异, 然后再推送到远程主机。这时,如果你一定要推送,可以使用–force选项 9.git push不会推送标签(tag),除非使用–tags选项 命令作用: 只能清空全部已修改的问题件, 但是对于新建的文件和文件夹无法清空, 必须组合下面命令; 命令作用: 清空所有新建的文件和文件夹;
㈣ git怎么把仓库的东西删除
1. github仓库里的文件夹怎么删除散世 删除方法步骤如下: 1、工具需求 (1)github平台 2、要知道在github上只能删除仓库,却无法删除文件夹或文件, 所以冲源肢只能通过命令来解决,(1)首先进入master文件夹下, Git Bash Here ,打开命令窗口$ git –help 帮助命令 (2)$ git pull origin master 将远程仓库里面的项目拉下来,$ dir 查看有哪些文件夹 3、此时$ git rm -r –cached target 删除target文件夹,$ git mit -m '删除了target' 提交,添加操作说明,如图。 (1)最后$ git push -u origin master 将本次更改更新到github项目上去,删除完毕。效果如图所示。 2. 如何删除git远程仓库的某个文件 git是大家通用的一种版本控制系统,便捷高效,各种命令需要牢记,今天介绍给大家的是git的删除命令,即将文件从远程仓库中删除的操作。 首先,我们打开自己的本地GIT仓库,在根目录下右击鼠标,选择git bash选项。 2 进入到我们的git命令行页面后,先将远程代码pull到本地,保持本地仓库跟远端仓库同步。 3 然后我们使用git rm命令删掉要删除的文件。具体命令是 git rm 文件名,大家可以把rm当做remove的缩写,方便记忆 4 删除之后,本地目录下已经删除的文件夹就不再存在了,为了能将远程仓库的相应文件也删除掉,我们要把这次操作提交到上去,git mit -m "for test" 5 可以看到代码中显示我们删掉了README文件,然后将更改push到远程,git push, 6 我们根据上图的结果可以看到一个操作已经成功提交到远程仓库了。 3. 怎样从本裂敏地删除git远程仓库里面的文件 首先,我们打开自己的本地GIT仓库,在根目录下右击鼠标,选择git bash选项。 2进入到我们的git命令行页面后,先将远程代码pull到本地,保持本地仓库跟远端仓库同步。3然后我们使用git rm命令删掉要删除的文件。 具体命令是 git rm 文件名,大家可以把rm当做remove的缩写,方便记忆4删除之后,本地目录下已经删除的文件夹就不再存在了,为了能将远程仓库的相应文件也删除掉,我们要把这次操作提交到上去,git mit -m "for test"5可以看到代码中显示我们删掉了README文件,然后将更改push到远程,git push,6我们根据上图的结果可以看到一个操作已经成功提交到远程仓库了。
㈤ 怎么删除git远程仓库上某次commit
一、本地切换到master分支git checkout master二、新建old_master分支备份,以防万一git branch old_master git push origin old_master:old_master 将本地old_master分支推送到远程old_master三、删除远程master分支设置github中默认分支为非master分支,否则,下一步删除操作被github禁止,github不能删除默认分支. 将如下图中的 Default Branch 改成 非master。删除远程的master分支 (注意master前有个:) git push origin :master四、本地版本回退到某一个版本本地仓库彻底回退到某一个版本 git reset –hard commit_sha(for example: )五、重新创建远程master分支git push origin master如果master 分支不在的话,需要 如果你还想在将master分支做为默认的分支,如果master分支在的话就git push origin master。如果不在的话,就再建一个叫master的分支,然后类似操作(将内容提交到master分支上,push到远程的github上,进入settings中设置master为默认的分支即可。)
㈥ 怎样用git命令删除服务器上的版本库
是删除一个来分支还是所有自的?删除远端的分支可以这样 git push origin :master (其中的master是分支名,前面有一个: ,:前是空的就是用空的推送到远端分支,就删除了)
㈦ Git常用命令
1.1 配置环境
当安装Git后首先要做的事情是设置用户名称和email地址。这是非常重要的,因为每次Git提交都会使用该用户信息。该用户信息和GitHub上注册的远程仓库的相关信息没有任何关系。
git config –global user.name “你的名字”
git config –global user.email “你的邮箱”
git config –list
配置信息保存在用户目录下的.giitconfig文件中
1.2 获取Git仓库
要使用Git对我们的代码进行版本控制,首先需要获得Git仓库
获取Git仓库通常有两种方式:
执行步骤如下:
1、在电脑的任意位置创建一个空目录作为我们的本地Git仓库
2、进入这个目录中,点击右键打开Git bash 窗口
3、执行命令git init
可以通过Git提供的命令从远程仓库进行克隆,将远程仓库克隆到本地的命令形式为:
git clone 远程Git仓库地址
1.3 工作目录、暂存区以及版本库概念
版本库:.git隐藏文件就是版本库,版本库存储了很多配置信息、日志信息和文件版本信息等
工作目录(工作区):包含.git文件夹的目录就是工作目录,主要用于存放开发的代码
暂存区:.git文件夹中有很多文件,其中一个index文件就是暂存区,也可以叫做stage。暂存区是一个临时保存修改文件的地方
1.4 Git工作目录下文件的两种状态
Git工作目录下的文件存在两种状态:
Unmodified 未修改状态
Modified 已修改状态
Staged 已暂存状态
这些文件的状态会随着我们执行Git的命令发生变化
1.5 本地仓库操作
git status 查看文件状态
也可以使用git status -s使输出信息更简洁
git add 将未跟踪的文件加入暂存区,将已经修改的文件加入暂存区也是通过这个命令
git reset 将暂存区文件取消暂存
git commit -m “你的说明” 将暂存区文件提交到本地仓库
git rm 删除文件 说明:这种操作是直接将文件加入到暂存区里面,直接提交到本地仓库生效,而直接删除的话没有进入到暂存区,需要先把文件加入到暂存区之后,再提交到本地仓库。
将文件添加至忽略列表
一般我们总会有些文件无需纳入Git的管理,也不希望他们总出现在未跟踪文件列表。通常这些都是自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等。在这种情况下,我们可以在工作目录中创建一个名为.gitnore的文件(文件名称固定),列出忽略的文件模式。下面是一个示例:#代表注释
由于windows无法创建不含文件名的文件,因此我们需要在bash窗口中用如下命令创建。
git log 查看日记记录
1.6 远程仓库操作
如果想查看已经配置的远程仓库服务器,可以运行git remote 命令。它会列出指定的每一个远程服务器的简写。如果已经克隆了远程仓库,那么至少可以看见origin,这是Git克隆的仓库服务器的默认名字
git remote -v 可以查看对远程仓库详细一点的说明
git remote show origin 可以查看对origin更详细的远程仓库的说明
运行git remote add 添加一个远程Git仓库,同时指定一个可以引用的简写
如果你想获得一份已经存在了的Git仓库的拷贝,这时需要用到 git clone 命令。Git克隆的是Git仓库服务器上的几乎所有数据(包括日志信息、 历史 记录等),而不仅仅是复制工作所需要的文件。当你执行git clone 命令的时候,默认配置下Git仓库中的每一个文件的每一个版本都将被拉取下来。
如果因为一些原因想要移除一个远程仓库,可以使用git remote rm
注意:此命令只是从本地移除远程仓库的记录,并不会影响到远程仓库
git fetch 是从远程仓库获取最新版本到本地仓库,不会自动merge
说明:如果使用fetch命令,拉取的文件会放到版本库里面,不会自动整合到工作区,如果需要整合到工作区,需要使用 git merge 远程仓库别名/远程仓库分支
git pull 是从远程仓库获取最新版本并merge到本地仓库
注意:如果本地仓库不是从远程仓库克隆,而是本地创建的仓库,并且仓库中存在文件,此时再从远程仓库中拉取文件的时候会报错(fatal:refusing to merge unrelated histories),解决此我呢提可以在git pull 命令后加入参数 –allow-unrelated-histories
git push
1.7 Git分支
几乎所有的版本控制系统都是以某种形式支持分支。使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线。Git的master是一个特殊分支。它跟其它分支没有区别。之所以每一个仓库都有mater分支,是因为git init默认创建它,并且大多数人都懒得去改动它。
# 列出所有本地分支
$ git branch
#列出所有远程分支
$ git branch -r
#列出所有本地分支和远程分支
$git branch -a
git branch 分支名称
git checkout 分支名称
git push 远程仓库别名 远程仓库分支
git merge 分支名称 说明:在当前分支下合并其他分支
注意:如果两个分支存在同样的文件名且同行的内容不一样,那么会产生矛盾,需要自己手动修改产生矛盾后的文件,然后添加到暂存区然后提交。
git branch -d 分支名称
如果要删除的分支中进行了一些开发动作,此时执行上面的删除命令并不会删除分支,可以将命令中的-d参数改为-D
如果要删除远程仓库中的分支,可以使用命令git push origin -d branchName
1.8 Git标签
像其他版本控制系统一样,Git可以给 历史 中的某一给提交打上标签,以示重要。比较有代表性的是人们会使用这个功能来标记发布结点(v1.0、v1.2等)。标签指的是某个分支某个特定时间点的状态。通过标签,可以很方便地切换到标记时的状态。
#新建一个tag
$ git tag [tagName]
$ git tag
#新建一个分支,指向某个tag
$ git checkout -b [branch] [tag]
#删除本地tag
$git tag -d[tag]
#删除远程tag
$git push origin :refs/tags/[tag]
㈧ 如何删除git远程分支
Git查看、删除、重命名远程分支和tag2015-06-15:加入姊妹篇含橘巧;2013-11-06:加入重命名远程分支的内容;2013-01-09:加入删除远程tag的内容。姊妹篇:使用Git、Git GUI和TortoiseGit这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲:查看远程分支删除远程分支和tag删除不存在对应远程分支的本地分支重命名远程分支把本地tag推送到远程获取远程tag查看远程分支加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话):$ git branch -a master remote tungway v1.52* zrong remotes/origin/master remotes/origin/tungway remotes/origin/v1.52 remotes/origin/zrong删除远程分支和tag在Git v1.7.0 之后,可以使用这种语法删除远程分支:$ git push origin –delete <branchName>删除tag这么用:git push origin –delete tag <tagname>否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:git push origin :<branchName>这是删除tag的方法,推送一个空tag到远程tag:git tag -d <tagname>git push origin :refs/tags/<tagname>两种语法作用完全相同。删除不存在对应远程分支的本地分支假设这样一种情况:我创建了本地分支b1并pull到伍判远程分支 origin/b1;其他人在本地使用fetch或pull创建了本地的b1分支;我删除了 origin/b1 远程分支;其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行 git branch -a 也不能看出这个branch被删除了,如何处理?使用下面的代码查看b1的状态:$ git remote show origin* remote origin Fetch URL: [email protected]:xxx/xxx.git Push URL: [email protected]:xxx/xxx.git HEAD branch: master Remote branches: master tracked refs/remotes/origin/b1 stale (use 'git remote prune' to remove) Local branch configured for 'git pull': master merges with remote master Local ref configured for 'git push': master pushes to master (up to date)这时候能够看到b1是stale的,使用 git remote prune origin 可以将其从本地版本库中去除。更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:git fetch -p重命名远程分支在git中重命名远程分支,其实就是先删除远程分支,然后重命名本地分支,再重新提交一个远程分支。例如下面的例子中谈键,我需要把 devel 分支重命名为 develop 分支:$ git branch -av* devel 752bb84 Merge pull request #158 from Gwill/devel master 53b27b8 Merge pull request #138 from tdlrobin/master zrong 2ae98d8 modify CCFileUtils, export getFileData remotes/origin/HEAD -> origin/master remotes/origin/add_build_script d4a8c4f Merge branch 'master' into add_build_script remotes/origin/devel 752bb84 Merge pull request #158 from Gwill/devel remotes/origin/devel_qt51 62208f1 update .gitignore remotes/origin/master 53b27b8 Merge pull request #138 from tdlrobin/master remotes/origin/zrong 2ae98d8 modify CCFileUtils, export getFileData删除远程分支:$ git push –delete origin develTo [email protected]:zrong/quick-cocos2d-x.git – [deleted] devel
㈨ 文件移除 git 版本库但不删除文件
执行以下命令 git rm -r .gitignore –cached 再次提交下 git commit -m '删除过滤文件' git status 过滤规则生效 git push .gitignore忽略已加入版本控制的文件 问题:.gitignore中已经标明忽略的文件目录下的文件,在git push的时候还会出现在push的目录中。 原因:在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中搏举,就算是在.gitignore中已经声明了忽略路径也是不起作用的 解决:这时候我们就应该先把本地缓存删除,然后再进行git的push,这样就不会出现基丛碧忽略的文件了。git清郑喊除本地缓存命令如下: git rm -r –cached . git add . git commit -m 'update .gitignore'