git基本操作命令
Git命令及在idea上配置Git
Git命令及在idea上配置Git0 前⾔1. 软件要求⽤户需要⾃⾏安装,git,tortoise(⼩乌龟),idea。
这⾥就不多介绍了。
2. 环境介绍安装好git之后点击⿏标右键会出现Git GUI和Git Bash,如下图所⽰备注:GUI为⽤户界⾯模式Bash为命令⾏模式(本⽂主要使⽤)1. 第⼀次使⽤,先配置⽤户名信息1. ⾸先打开Git Bash,在命令⾏输⼊下列命令,配置⽤户名信息git config --global "Your Name"//⽤户名git config --global user.email "email@"//邮箱,建议和Gitee上的邮箱保持⼀致2. ⽣成ssh公钥,在以后提交到码云时,不需要登陆本地⽤户#输⼊如下命令,三次回城即可⽣成ssh keyssh-keygen -t rsa -C "email@"#建议使⽤Gitee注册邮箱3. ssh密钥ssh密钥默认⽣成路径在系统盘⽤户⽂件夹下⾯,其中id_rsa是私钥,id_rsa.pub是公钥,本⽂会在后⾯讲解Gitee与ssh配置。
2. git操作及常⽤命令1. GIT区域介绍git有三个区域⼯作区(working directory):项⽬的根⽬录,不包括git在内的其他⽂件暂存区(stage area):是⼀个看不见的区域,git add命令就是将⽂件添加到该区域,git status命令可以查看当前暂存区的⽂件本地仓库(repository):指在⼯作⽬录下创建的⼀个.git⽬录,这是⼀个隐藏⽬录,git commit -m“备注” 可以将暂存区的代码提交的本地仓库,git push -u origin master 就是将本地仓库的代码推送到远程仓库2. git⽂件的三种状态已修改(modified),存在于⼯作区,⽂件修改后的状态已暂存(staged),存在于暂存区,采⽤ git add 命令后的状态已提交(committed),存在于本地仓库,采⽤ git commit 命令后的状态3. git基本操作创建⼀个⽬录:mkdir ⽂件名初始化仓库:git init4. 常⽤命令常⽤命令命令备注git status查看仓库的改变状况,会有相关提⽰操作git add .直接添加所有改动的⽂件git commit -m "note"确认⽣成本地版本,note是备注git remote add origin 仓库地址将本地仓库与Gitee远程仓库连接git push将改动上传到github或者gitee,若没有指定分⾄,则需要使⽤git push origin mastergit log查看版本更新情况git reset -hard x回退到某个本地版本,x为git log中出现的hash值前七位git clean -xf清除所有未提交的⽂件3. 码云+git配置仓库配置仓库为什么要这么做?若需要将本地仓库的代码同步更新到远程托管服务器,则需要与远程服务器建⽴通信授权连接,最常见的就是利⽤上述所⽣成的sshkey进⾏配置。
git基本命令
4、版本库管理相关命令
命令 简要说明 git count-objects 显示松散对象的数量和磁盘占用 git filter-branch 版本库重构 git fsck 对象库完整性检查 git fsck-objects* 同义词,等同于 git fsck git gc 版本库存储优化 git index-pack 从打包文件创建对应的索引文件 git lost-found* 过时,请使用 git fsck –lost-found 命令 git pack-objects 从标准输入读入对象ID,打包到文件 git pack-redundant 查找多余的 pack 文件 git pack-refs 将引用打包到 .git/packed-refs 文件中 git prune 从对象库删除过期对象 git prune-packed 将已经打包的松散对象删除 git relink 为本地版本库中相同的对象建立硬连接 git repack 将版本库未打包的松散对象打包 git show-index 读取包的索引文件,显示打包文件中的内容 git unpack-objects 从打包文件释放文件 git verify-pack 校验对象库打包文件
GIT基础(二十四):Git基本操作(十五)gitpush命令
GIT基础(⼆⼗四):Git基本操作(⼗五)gitpush命令git push 命⽤于从将本地的分⽀版本上传到远程并合并。
命令格式如下:git push <远程主机名> <本地分⽀名>:<远程分⽀名>如果本地分⽀名与远程分⽀名相同,则可以省略冒号:git push <远程主机名> <本地分⽀名>实例以下命令将本地的 master 分⽀推送到 origin 主机的 master 分⽀。
$ git push origin master相等于:$ git push origin master:master如果本地版本与远程版本有差异,但⼜要强制推送可以使⽤ --force 参数:git push --force origin master删除主机但分⽀可以使⽤ --delete 参数,以下命令表⽰删除 origin 主机的 master 分⽀:git push origin --delete master$ touch runoob-test.txt # 添加⽂件$ git add runoob-test.txt$ git commit -m "添加到远程"master 69e702d] 添加到远程1 file changed, 0 insertions(+), 0 deletions(-)create mode 100644 runoob-test.txt$ git push origin master # 推送到 Github将本地的 master 分⽀推送到 origin 主机的 master 分⽀。
重新回到我们的 Github 仓库,可以看到⽂件已经提交上来了:。
vscode中git指令
vscode中git指令在使用VSCode中进行Git操作时,我们可以通过一些常用的指令来进行版本控制和团队协作,以便更好地管理代码。
我们可以使用`git init`命令来初始化一个空的Git仓库。
这将在当前目录下创建一个`.git`文件夹,用于存储仓库的相关信息。
接下来,我们可以使用`git add`命令将文件添加到暂存区。
例如,使用`git add file1.txt`命令将名为`file1.txt`的文件添加到暂存区。
然后,我们可以使用`git commit`命令来提交更改。
例如,使用`git commit -m "Add file1.txt"`命令将暂存区中的更改提交到本地仓库,并添加一条注释说明。
如果我们在本地仓库中进行了更改,并且想要与远程仓库同步,可以使用`git push`命令将本地提交推送到远程仓库。
例如,使用`git push origin master`命令将本地的`master`分支推送到名为`origin`的远程仓库。
如果我们想要获取远程仓库中的最新更改,可以使用`git pull`命令拉取远程仓库的内容到本地。
例如,使用`git pull origin master`命令从名为`origin`的远程仓库的`master`分支拉取最新更改。
除了基本的Git操作,VSCode还提供了一些方便的扩展和功能。
例如,可以使用GitLens扩展来查看代码的提交历史和作者信息。
还可以使用Git Graph扩展来可视化分支和合并操作。
这些扩展可以帮助我们更好地理解代码的演变过程和团队成员之间的贡献。
通过在VSCode中使用Git指令,我们可以高效地进行代码管理和团队协作。
这些指令的灵活运用可以帮助我们更好地掌控代码的版本和演变,并提高开发效率。
让我们一起享受使用VSCode和Git带来的便利吧!。
概述使用git命令推送代码的操作步骤
概述使用git命令推送代码的操作步骤
1.初始化本地仓库:在待推送的代码所在的文件夹内打开命令行窗口,使用以下命令初始化本地仓库:
```bash
git init
```
2.添加代码到暂存区:使用以下命令将待推送的代码添加到暂存区:
```bash
git add .
```
此处`.`代表当前目录下的所有文件,也可以使用具体的文件路径添
加指定的文件。
3.提交代码到本地仓库:使用以下命令将代码提交到本地仓库,并添
加提交说明:
```bash
```
4.关联远程仓库:使用以下命令将本地仓库与远程仓库进行关联:
```bash
git remote add origin 远程仓库地址
```
其中,远程仓库地址可以是HTTP或SSH协议的地址,例如:
```bash
```
5.推送代码到远程仓库:使用以下命令将本地仓库的代码推送到关联
的远程仓库:
```bash
git push origin master
```
此处`master`是主分支的名称,可以根据实际情况使用其他分支名称。
6.输入远程仓库的用户名和密码:如果远程仓库需要认证,会提示输
入用户名和密码,输入正确的用户名和密码后,即可完成代码的推送。
以上就是使用git命令推送代码的操作步骤,通过这些步骤可以将本
地代码上传到远程仓库中,方便其他开发人员的协作和版本控制。
在实际
应用过程中,还可以使用分支管理等高级功能,以提高代码管理的效率和
灵活性。
git使用方法
git使用方法Git是目前最流行的分布式版本控制系统,它是一个开源项目,可轻松实现文件的版本控制、同步和分享。
在这里,我们将简要介绍Git的基本功能,并演示如何使用Git来控制文件的版本控制、同步和分享。
1.Git简介Git是一种开源的、分布式的版本控制系统,可以跟踪文件和提交,并可以在同一张表中跟踪多个版本。
它可以很容易地将文件和文件夹同步到不同的电脑上,并可以跟踪文件的更新、查看历史版本,以及恢复历史版本的内容。
Git的灵活性和简单性使其在软件开发中大受欢迎。
2.Git的安装要使用Git,首先需要在计算机上安装Git。
安装Git的步骤很简单:从Git的官方网站上下载安装包,然后双击安装程序完成安装即可。
3.Git的基本命令Git拥有众多的命令,可以用来完成各种版本控制任务,这里介绍几个常用的基本命令:init:它可以在当前目录中创建一个 Git 仓库,并将当前目录中的文件添加到Git仓库中;clone:可以将远程Git仓库复制到本地;add:可以将本地目录中的文件添加到Git仓库中;commit:可以将本地仓库中的文件提交到Git仓库中,这样Git 仓库中就会有新的版本;push:可以将本地仓库中的文件推送到远程Git仓库中,这样远程Git仓库中也会有新的版本;pull:可以将远程Git仓库中的文件复制到本地仓库中,以便将远程Git仓库中的最新版本复制到本地;log:可以查看Git仓库的历史版本,并可以比较不同版本之间的差异;checkout:可以将Git仓库中的某个版本复制到本地仓库中,以便恢复到某个特定版本。
4.小结Git是一种开源的、分布式的版本控制系统,可以跟踪文件和提交,轻松实现文件的版本控制、同步和分享。
本文介绍了如何安装Git,以及一些常用的基本命令,可以帮助用户快速上手Git并使用它来控制文件的版本控制、同步和分享。
git常用命令解释
GIT ANG REPOUSAGE1 git command1.1 git add∙git add . #将文件先暂存到staging area, stages new and modified, without deleted∙git add -A #states all∙git add -u #states modified and deleted, without new∙git add -i #进入互动模式∙git add filename #新增一个文件∙git add modify-file #修改过得文档也要加add,不然在commit时要加-a 1.2 git rm #删除文件∙git rm filename1.3 git mv #修改文件名,或搬移目录∙git mv filename newfilename1.4 git status #查看状态1.5 git commit∙git commit∙git commit -m 'commit message'∙git commit -a -m "message"∙git commit -a -v #-v查看修改的内容1.6 git branch∙git branch #列出所有的分支∙git branch new-branch #产生新的分支∙git branch new-branch master #由master产生新的分支∙git branch -d branch #删除分支∙git branch -D branch #强制删除分支∙git checkout -b new-branch #产生新分支并切换过去∙git branch -r #列出所有repository branch∙git branch -a #列出所有分支1.7 git checkout∙git checkout branch-name #切换到branch-name∙git checkout master #切换到master∙git checkout -b new-branch master #从master建立新的分支,并切换过去∙git checkout -b new-branch #由当前分支建立新分支∙git checkout -b new-branch origin #由origin建立分支∙git checkout filename #还原状态到repository状态∙git checkout HEAD . #将所有文件都checkout出来∙git checkout xxxx . #xxxx是commit的编号的前四位,将xxxx编号的版本checkout出来∙git checkout – * #恢复上一次commit的状态1.8 git diff∙git diff master #与master对比看哪些文件不同∙git diff –cached #比较staging area与repository∙git diff tag1 tag2 #tag1与tag2比较∙git diff tag1:file1 tag2:file2 #tag1的file1与tag2的file2比较∙git diff #当前与staging area比较∙git diff HEAD #当前与repository比较∙git diff new-brach #当前与new branch的比较∙git diff –stat1.9 git tag∙git tag v1 ebff #为commit ebff810c462234433434323334343设置标记v1 ∙git tag 版本1 ebff #tag可以为中文∙git tag -d 版本1 #删除标记版本11.10 git log∙git log #列出所有log∙git log –all∙git log -p #列出log及修改的内容∙git log -p filename #将filename的log及修改内容列出来∙git log –name-only #列出哪些文件被修改∙git log –stat –summary #列出各个版本间的改动及行数∙git log filename #这个文件的所有log∙git log directory #这个目录的所有log∙git log -S'FUNC()‘ #列出由FUNC()这个字符串的log∙git log –no-merges #不要列出merge的log∙git log –since="2 weeks ago" #列出最后两周的log∙git log –pretty=oneline∙git log –pretty=short1.11 git show∙git show ebff #显示commit ebff810xxxxxxxxxxx的内容∙git show v1 #显示tag v1的修改内容∙git show v1:hello.txt #显示tag:v1的hello.txt文件修改内容∙git show HEAD #当前版本的修改文件∙git show HEAD^ #前一版本所有修改的文件∙git show HEAD~4 #前4版本的修改文件1.12 git reset∙git reset –hard HEAD^ #还原到前一版本∙git reset –soft HEAD~31.13 git grep∙git grep "hello" v1 #查找tag:v1中是否由“hello"字符串∙git grep "hello"1.14 git stash∙git stash #放进暂存区∙git stash list #列出暂存区的文件∙git stash pop #取出最新的一笔,并移除∙git stash apply #取出但不移除∙git stash clear #清除暂存区1.15 git merge∙git merge #合并1.16 git blame∙git blame filename #列出此文件所有commit的记录1.17 git ls-files∙git ls-files -d #查看已删除的文件∙git ls-files -d | xargs git checkout – #将已删除的文件还原1.18 git revert∙git revert HEAD #回到前一此commit的状态∙git revert HEAD^ #回到上上一次的状态1.19 git remote∙git remote∙git remote add new-branch /project.git #增加远程repository的branch∙git remote show #列出现在由多少repository∙git remote rm new-branch #删除服务器上的新分支∙git remote update #更新所有repository branch1.20 git fetch∙git fetch origin1.21 git push∙git push origin:heads/xxx-branch2 repo command2.1 repo init∙repo init -u URL #在当前目录安装repo,该命令创建一个.repo文件夹,文件夹中包含一些git仓库,这些仓库包含着repo源代码何manifest文件。
git入门(常用命令操作)
Page 23
本地版本控制 04 Local Version Control
Page 24
4.1 添加修改
· 如图给 helloworld.cpp 添加一行文本
* Git 已追踪文件的图标会随着工作区状态的改变而改变
Page 25
4.1 添加修改
· 使用 git status 命令查看当前仓库工作区的状态
Page 4
1.2 集中式版本控制系统(CVCS)
· 集中式版本控制系统(CVCS): 这类系统,诸如 CVS,Subversion 以及 Perforce 等,都有一个单一的 集中管理服务器,保存所有文件的修订版本,而协同工作的开发人员都通过 客户端连到这台服务器,取出最新的文件或者提交更新。 这么做最显而易见的缺点是中央服务器的单点故障。如果宕机一小时, 那么在这一小时内,谁都无法提交更新,也就无法协同工作。要是中央服务 器的磁盘发生故障,碰巧没做备份,或者备份不够及时,就还是会有丢失数 据的风险,最坏的情况是彻底丢失整个项目的所有历史更改记录。
Page 35
4.4 撤销修改
撤销修改分为三种情况: · 仅仅修改了工作区内容,未添加到暂存区 · 修改了工作区内容并且添加到暂存区,但未提交修改 · 修改被添加到暂存区并且提交了修改
Page 36
4.4 撤销修改
情况一: 仅仅修改了工作区内容,未添加到暂存区(没有经过 add 和 commit 的修改),如图
* --global 表示设置的范围(系统,全局,项目)
· 修改前需要先使用 --unset 参数清空需要修改的设置 $ git config --unset --global
Page 15
2.1 Git 的帮助与初始化
Git操作详解
Git操作详解,学会Git⼏乎成了开发者的必备技能。
是⽬前最流⾏的,学会是⽬前最流⾏的Git有很多优势,其中之⼀就是远程操作⾮常简便。
本⽂详细介绍5个Git命令,它们的概念和⽤法,理解了这些内容,你就会完全掌握Git远程操作。
git clonegit remotegit fetchgit pullgit push本⽂针对初级⽤户,从最简单的讲起,但是需要读者对Git的基本⽤法有所了解。
同时,本⽂覆盖了上⾯5个命令的⼏乎所有的常⽤⽤法,所以对于熟练⽤户也有参考价值。
⼀、git clone远程操作的第⼀步,通常是从远程主机克隆⼀个版本库,这时就要⽤到git clone命令。
$ git clone <版本库的⽹址>⽐如,克隆jQuery的版本库。
$ git clone https:///jquery/jquery.git该命令会在本地主机⽣成⼀个⽬录,与远程主机的版本库同名。
如果要指定不同的⽬录名,可以将⽬录名作为git clone命令的第⼆个参数。
$ git clone <版本库的⽹址> <本地⽬录名>git clone⽀持多种协议,除了HTTP(s)以外,还⽀持SSH、Git、本地⽂件协议等,下⾯是⼀些例⼦。
$ git clone http[s]:///path/to/repo.git/$ git clone ssh:///path/to/repo.git/$ git clone git:///path/to/repo.git/$ git clone /opt/git/project.git$ git clone file:///opt/git/project.git$ git clone ftp[s]:///path/to/repo.git/$ git clone rsync:///path/to/repo.git/SSH协议还有另⼀种写法。
$ git clone [user@]:path/to/repo.git/通常来说,Git协议下载速度最快,SSH协议⽤于需要⽤户认证的场合。
git 使用方法
git 使用方法
Git是一款分布式版本控制系统,可以用于数据的同步和版本管理。
下面我们以谷歌GitHub为例,介绍如何使用Git:
一、配置Git帐号
1. 登录GitHub
2. 点击右上角的settings,进入GitHub个人信息管理页面
3. 在左侧菜单栏点击SSH and GPG keys,点击右上角”New SSH Key“
4. 在Title输入”Git_Local“,再将本地生成的SSH Key内容复制进去,点击”Add SSH Key“
二、使用Git创建项目
1. 进入要保存项目的文件夹,点击右键打开Git Bash Here
2. git init (创建一个新的本地Git仓库)
3. git status (查看本地Git仓库的状态)
4. git add. (添加当前目录下所有文件到本地Git仓库)
5. git commit -m "xxx" (提交文件到本地Git仓库)
6. git push origin master (把本地Git仓库的commit提交到GitHub)。
Git的常用命令
Git的常⽤命令Git常⽤命令汇总以及其它相关操作⼀、常⽤的git命令--⽂件⽬录操作命令mkdir * 创建⼀个空⽬录 *指⽬录名pwd显⽰当前⽬录的路径。
cat * 查看*⽂件内容git rm * 删除**⽂件--git初始化操作git init 把当前的⽬录变成git仓库,⽣成隐藏.git⽂件。
git remote add origin url 把本地仓库的内容推送到GitHub仓库。
git clone git@url/test.git 从远程库克隆git add * 把x⽂件添加到暂存区去。
git commit –m "*"提交⽂件 –m 后⾯的是注释。
--git 克隆分⽀git clone xxx.git 最简单直接的命令git clone xxx.git "指定⽬录" clone到指定⽬录git clone -b branchname xxx.git clone时创建新的分⽀替代默认Origin HEAD(master)--clone 远程分⽀ git clone 命令默认的只会建⽴master分⽀,如果你想clone指定的某⼀远程分⽀(如:dev)的话,可以如下: 1. 查看所有分⽀(包括隐藏的) git branch -a 显⽰所有分⽀ * masterremotes/origin/HEAD -> origin/masterremotes/origin/devremotes/origin/master2. 在本地新建同名的("dev")分⽀,并切换到该分⽀git checkout -t origin/dev#该命令等同于:git checkout -b dev origin/dev--查看命令git status 查看仓库状态git diff * 查看X⽂件修改了那些内容git log 查看历史记录git reflog 查看历史记录的版本号id(记录你的每⼀次命令,不论是否提交)git log --pretty=oneline 如果信息量太多可以进⾏⽐较好的列表显⽰--版本回退git reset –hard HEAD^ 回退到上⼀个版本git reset --hard HEAD~第⼏个如果想回退到第3个版本,使⽤git reset –hard HEAD~3git reset --hard 057d 回退到某⼀个具体的版本号--撤销修改git checkout file-name 恢复某个已修改的⽂件(撤销未提交的修改):git revert HEAD 还原最近⼀次提交的修改:git revert commit-id还原指定版本的修改--分⽀管理git branch 查看本地所有的分⽀git branch -a 查看远程所有的分⽀git branch name 创建分⽀git branch –d dev 删除dev分⽀git push origin --delete dev 删除远程的dev分⽀git branch -m dev develop 重命名分⽀git checkout –b dev 创建dev分⽀并切换到dev分⽀上git merge dev 在当前分⽀上合并dev分⽀代git push origin zyf-dev 把当前新增的zyf-dev分⽀推送到远程库(远程仓库没有给分⽀则会新建⽴该分⽀)git checkout — * 把XX⽂件在⼯作区的修改全部撤销。
常用git命令以及idea中git的用法总结
常⽤git命令以及idea中git的⽤法总结前⾔最近本⼈将⼀些代码放到了github上,顺便总结了⼀下git的⽤法;经过了各种百度,最终形成了以下这篇⽂章。
个⼈感觉追求效率的话,只看最后⼀条git常⽤命令即可。
前⾯的似乎有⽤,⼜似乎没⽤......Git使⽤⽅法简介Git 是⼀个开源的分布式版本控制系统,⽤于敏捷⾼效地处理任何或⼩或⼤的项⽬。
Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发⽽开发的⼀个开放源码的版本控制软件。
Git 与常⽤的版本控制⼯具 CVS, Subversion 等不同,它采⽤了分布式版本库的⽅式,不必服务器端软件⽀持。
安装Git⼯作流程⼀般⼯作流程如下:1.克隆 Git 资源作为⼯作⽬录。
2.在克隆的资源上添加或修改⽂件。
3.如果其他⼈修改了,你可以更新资源。
4.在提交前查看修改。
5.提交修改。
6.在修改完成后,如果发现错误,可以撤回提交并再次修改并提交。
下图展⽰了 Git 的⼯作流程:Git ⼯作区、暂存区和版本库⼯作区:就是你在电脑⾥能看到的⽬录。
暂存区:英⽂叫stage, 或index。
⼀般存放在 ".git⽬录下" 下的index⽂件(.git/index)中,所以我们把暂存区有时也叫作索引(index)。
版本库:⼯作区有⼀个隐藏⽬录.git,这个不算⼯作区,⽽是Git的版本库。
下⾯这个图展⽰了⼯作区、版本库中的暂存区和版本库之间的关系:图中左侧为⼯作区,右侧为版本库。
在版本库中标记为 "index" 的区域是暂存区(stage, index),标记为 "master" 的是 master 分⽀所代表的⽬录树。
图中我们可以看出此时 "HEAD" 实际是指向 master 分⽀的⼀个"游标"。
所以图⽰的命令中出现 HEAD 的地⽅可以⽤ master 来替换。
Git基本操作
Git代码状态转换图其中:未被Git跟踪的状态为unstage状态已经被Git跟踪的状态为stage状态,因此包括staging状态和staged状态一基本应用1.安装git的安装除了git core这个东西以外,我们还需要安装git gui和gitk,这些东西后面会方便我们的工作。
ubuntu下:直接采用新立德安装git。
如果使用apt-get,可能会遗漏一些库文件,这里推荐大家将git的一些GUI的工具也安装一下,这样可以更直观的了解我们的版本发展情况。
windows下:也有相应的安装文件,/p/msysgit/downloads/list在这个目录下可以下载到,一般推荐安装这个list里面的第一。
git有一些全局的设置和变量,我们可以通过git config -l去查看这些参数,git在提交修改的时候会记录提交者的姓名和email,这样便于代码的整体管理,安装后我们需要设置一下,我们的一些相关参数,具体设置的命令可以用git config --global "XXXX"去设置全局的作者名和git config --global user.email "XXX"去设置全局的email地址。
设置后,我们在查看每次的修改时,都会显示出这次修改掉作者是谁以及他的mail地址。
后面的命令使用,我们都是基于home目录下的~/gittest进行的,这个目录下面主要有三个文件:1.txt,2.txt,.gitignore这三个文件组成。
想了解具体git命令的使用和说明,我们可以使用git XXX --help命令去显示相应命令的说明文档。
2.建立代码库使用命令:git init在当前目录中运行以完成初始化,随后可以使用git status去查看当前代码库的状态。
这个时候,我们可以看到,我们在自己工程中的,1.txt和.gitignore这二个文件,提示我们他们是untrack的。
Git基本操作命令合集
Git基本操作命令合集平时⾃⼰敲敲代码,使⽤Git命令也渐渐多了起来。
使⽤起来的确很⽅便,今天来分享下Git基本概念和本地代码提交到github上的过程,很简单的,多操作⼏次就会了。
Git定义Git 是⼀个开源的分布式版本控制系统,⽤于敏捷⾼效地处理任何或⼩或⼤的项⽬。
Git 与常⽤的版本控制⼯具 CVS, Subversion 等不同,它采⽤了分布式版本库的⽅式,不必服务器端软件⽀持。
Git 与 SVN 区别1、Git 是分布式的,SVN 不是:这是 Git 和其它⾮分布式的版本控制系统,例如 SVN,CVS 等,最核⼼的区别。
2、Git 把内容按元数据⽅式存储,⽽ SVN 是按⽂件:所有的资源控制系统都是把⽂件的元信息隐藏在⼀个类似 .svn、.cvs 等的⽂件夹⾥。
3、Git 分⽀和 SVN 的分⽀不同:分⽀在 SVN 中⼀点都不特别,其实它就是版本库中的另外⼀个⽬录。
4、Git 没有⼀个全局的版本号,⽽ SVN 有:⽬前为⽌这是跟 SVN 相⽐ Git 缺少的最⼤的⼀个特征。
5、Git 的内容完整性要优于 SVN:Git 的内容存储使⽤的是 SHA-1 哈希算法。
这能确保代码内容的完整性,确保在遇到磁盘故障和⽹络问题时降低对版本库的破坏。
Git安装安装成功后,就可以使⽤命令⾏的git⼯具(已经⾃带了ssh客户端)了,另外还有⼀个图形界⾯的 Git 项⽬管理⼯具。
在开始菜单⾥找到"Git"->"Git Bash",会弹出Git命令窗⼝,你可以在该窗⼝进⾏Git操作。
Git基本命令新建代码库# 在当前⽬录新建⼀个 Git 代码库git init# 新建⼀个⽬录,将其初始化为 Git 代码库git init [project-name]# 下载⼀个项⽬和它的整个代码历史git clone [url]配置⽂件Git的设置⽂件为.gitconfig,它可以在⽤户主⽬录下(全局配置),也可以在项⽬⽬录下(项⽬配置)。
Linux中Git集中操作命令汇总
Linux中Git集中操作命令汇总SyntaxHighlightergit version # 查看版本git config -l # 查看当前配置git config --global "Dean" # 设置⽤户名,邮箱git config --global user.email g.xiangyu1990@ # 设置⽤户名,邮箱git config --global alias.ci commit # 设置git命令的别名git config --global alias.co checkout # 设置git命令的别名git仓库(repository):# 创建⼀个本地的git仓库并命名:git init demo# 克隆⼀个远程的git仓库到指定路径:git clone https:///a396901990/android.git /path/workpsacegit分⽀(branch):git branch # 查看分⽀git remote show origin # 查看所有分⽀git branch <branchname> # 创建新分⽀git checkout <branchname> # 切换到分⽀git checkout -b <new_branch> # 创建并切换到新分⽀git branch -d <branchname> # 删除分⽀(-D强删)git branch -m <old> <new> # 本地分⽀重命名git添加(add):git add <file> # 将本地指定⽂件名或⽬录(新增和修改,没有删除)的⽂件添加到暂存区git add . # 将本地所有的(新增和修改,没有删除)⽂件添加到暂存区git add -u # 将本地的(修改和删除,没有新增)⽂件添加到暂存区git add -A # 将本地所有改动添加到暂存区(git add -A = git add . + git add -u)git add -i # 打开⼀个交互式界⾯按需求添加⽂件git删除/重命名(rm/mv):git rm <file> # 删除⽂件git rm -r <floder> # 删除⽂件夹git rm --cached <file> # 从版本库中删除⽂件,但不删除⽂件git mv <old_name> <new_name> # ⽂件重命名git提交(commit):git commit -m "comment" # 提交暂存区中的内容(已经add)并添加注释git commit -a # 把修改的⽂件添加到暂存区(不包括新建(untracked)的⽂件),然后提交。
git基础操作命令
1. git pull 更新服务器代码到本地a). git pull origin master是将origin这个版本库的代码更新到本地的master主分支2. git push 将本地代码提交到服务器3. git log 查看提交信息a). git log -p 查看历次的log信息及更改情况b). git log -p -4 查看距现在最近的4次的log信息及更改情况c). git log frameworks/ 查看关于frameworks/目录修改相关的log信息d). git log --stat 查看log显示文件修改情况e). git log --stat packages/apps/Contacts/ 查看关于packages/apps/Contacts/目录修改相关的log显示的文件修改情况4. git status查看工作目录和代码仓库的改动情况,这个比较重要,可以查看你自己代码哪些需要上传,然后再去add commit5. git diff 查看工作目录和本地仓库的差异或者本地仓库各个版本的差异a). git diff packages/apps/Contacts/AndoridManifest.xml 查看工作目录中AndoridManifest.xml和本地仓库中AndoridManifest.xml的不同b). git diff b46cae3b9a377bcd9cfc249a5778fce647feb961dc94bf29aab18168e79d6496a89e47dba7a1d494 查看这两个版本的不同(git diff history_oldhistory_current)c)git diff84d7c8bf6fde87316f693015d4a541a1adf037b3 b39cf58eea2f7733723ad90d104b83774136efa8 pa ckages/apps/Phone/src/com/android/phone/CallCard.java 查看两个版本之间针对特写文件的变化6. git commit 提交当前修改内容a). git commit file1 file2 -m "log message" 提交file1,file2到本地仓库b). git commit -a -m "log message" 提交所有在Git索引中的改动,所以事先先用git status,看自己代码和服务器的对比有哪些改动,最好不用-a7. git add 增加文件到Git索引a). git add file3 file4将file3,file4加入到Git索引中8. git rm 从Git索引移除文件a). git rm file3 将file3从Git索引中删除9. git branch 对分支的增、删、查操作a). git branch 显示所有本地分支b). git branch new_branch 在当前版本创建一个名为new_branch的分支c). git branch -D new_branch 强制删除名为new_branch的分支10. git checkout 在不同的branch切换和还原文件a). git checkout branch1 切换到branch1分支b). git checkout /packages/apps/Contacts/AndroidManifest.xml 会将AndroidManifest.xml文件从上一次提交的版本更新回来,未提交的部分会全部回滚11. git reset 将当前的工作目录完全回滚到指定的版本号a). git reset [--fixed] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1 只更新索引,不更新工作目录,也就是说所有的本地文件都不会更新b). git reset [--soft] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1c). git reset [--hard] 3204f2f0bdfd6ada86c587b8927cdc5a15c586c1 强制回滚到指定版本号,未提交的和此版本之后的更改全部删掉12. git mergea). git merge branch1 将branch1的改动合并到当前所在分支13. git patcha). git format-patch -1 打一个当前提交的补丁,也就是最后一次的提交改动b). git fromat-patch -1 6525c43add803bfee37cf5c1cb573ed8aecf529e 打一个指定具体某一次的补丁c). git format-patch -2 6525c43add803bfee37cf5c1cb573ed8aecf529e 打基于指定具体某个版本的接连两次的补丁15.git reset HEAD^表示回退刚刚的提交, git reset HEAD^^ 表示回退刚两次的提交,以此类推, 补充一下16.git format-patch -1 打印刚刚提交的一版的patch,相当于svn diff17.git show 查看当前提交的版本18.git show ffd98b291e0caa6c33575c1ef465eae661ce40c9 查看指定版本的文件19.git show ffd98b291e0caa6c33575c1ef465eae661ce40c9:filename 查看指定版本的某个文件20.git show 2010-Aug-12 查看指定tag的文件21.git remote show 查看远程仓库的信息22.git remote show origin 查看某个远程仓库的详细信息,比如要看所克隆的origin仓库23.git revert -n hashcode : git撤销某次历史提交; -n 不加的话,相当于撤销后的树状态也提交了,加了-n只是工作树回退了那次提交的内容,工作树处于待提交状态24.git show 9f5202b77bdd33f885207b618b7b2a78b6671813packages/apps/FM/src/com/hymost/fm/ui/FMRadio.java 查看特定版本特定文件的修改25.git diff 6af41d3 d67778 packages/apps/Music/>2.patch这个非常有用, 6af41d3 比d67778 新, 上句这样做的好处是可以产生从6af41d3 到d67778的反向diff ,把这个反向diff 写入2.patch,这样谁打了2.patch,谁就等于作了一次6af41d3 版本在对packages/apps/Music上所做修改的文本回退(如果该版本对这个目录的改动是有错的需要回退的,这是个好办法).回退,千万少用revert和reset ,这两个动作和危险,容易导致结点丢失.Changes to be committed:# (use "git reset HEAD <file>..." to unstage) //reset 加--soft 会保持文件的stage状态,(to be committed,这往往是被撤消的提交中的文件,stage中的文件的修改是diff不出来的), 如果不加(默认:mixed)就会把所有mark to be committed的文件全unstage掉,这时可以diff出来该文件的改动了## modified: packages/apps/Contacts/src/com/android/contacts/ContactsUtils.java //不会被diff出来, ## Changed but not updated: //会被diff出来# (use "git add <file>..." to update what will be committed)# (use "git checkout -- <file>..." to discard changes in working directory)## modified: frameworks/base/core/java/com/android/internal/app/RingtonePickerActivity.java# modified: frameworks/base/media/java/android/media/RingtoneManager.java## Untracked files: //不会参与版本管理,除非用git add进来# (use "git add <file>..." to include in what will be committed)补充一下: reset --hard hashcode就是相当于check out 掉所以从此hashcode之后的所有本地修改了,很危险,慎用.revert hashcode1相当于reset --hard, 不过它的指针不回退,反而是在当前HEAD之上再加一个版本,而该版本在文本上相当于hashcode1之前一个版本的文本内容,但这时候指针都没丢,反而还多了一个,这时候想回过来有办法,就是reset --hard 到HEAD^就行了,一切都回来了,等于什么也没做过.不过尽量不要用revert. 这已经是一个deprecated 命令了.其实对于像1->2->3->4->5,这样的版本链上,如果2->3东西有问题,想回掉这部分修改,却不影响3后面的修改,最好的办法就是不要通过指针来实现,而是通过本文修改来实现新增一个6版本,盖在5之上,我们只要把2->3的patch拿过来,在当前5的基础上,打个反向patch就行: git apply -R 2to3.patch, 这时你的本地代码从文本上就达到了你要想的结果,就是5的状态下把2->3的修改抹掉. 不过打patch有一点要注意,我们尽量不要把png等图片的patch放里头,这样会很慢,图片的二进制码很大. 而且我们可以对patch 进行修改,回退我们想要回退的文件和修改.26. 问题:1->2->3->4->5(本地和服务器上都是这个状态)如果你想把package/app/Contacts从5这个结点的内容恢复到2这个结点,但又想让HEAD指针保持在5上,怎么做?(1)首先,git checkout 78350ad27ed3ad070bc0b5044ec594e70800aded(结点2的hashcode) packages/apps/Contacts/此时,你git log 看到的最新的commit结点会是:commit ba5ca90406bd6aaba3c54c46e9d143829b6a52fb-----结点6Merge branch 'master' of 192.168.10.104:repositories/7x27a-2045这句话到底做了件什么事呢,首先它把packages/apps/Contacts/的内容恢复到2这个结点的状态,然后并最新的内容修改(即恢复后的)做为一个新的结点6来在5的后面提交一个新的结点,所以现在情况变成了:1->2->3->4->5->6(2)但是我们又不想增加新结点,怎么办呢,很简单,只要软reset一下就行,也就是:git reset 5点的hashcode,这样子你再用git diff 就会发现相当于你把package/app/Contacts下面的内容都手动准确地改到了2结点的状态,指针链还是保持在原来的1->2->3->4->5。
Git基本操作菜鸟教程
Git基本操作菜鸟教程Git 基本操作Git 的工作就是创建和保存你项目的快照及与之后的快照进行对比。
本章将对有关创建与提交你的项目快照的命令作介绍。
获取与创建项目命令git init用 git init 在目录中创建新的 Git 仓库。
你可以在任何时候、任何目录中这么做,完全是本地化的。
在目录中执行 git init,就可以创建一个 Git 仓库了。
比如我们创建 runoob 项目:$ mkdir runoob$ cd runoob/$ git initInitialized empty Git repository in /Users/tianqixin/www/runoob/.git/# 在/www/runoob/.git/ 目录初始化空 Git 仓库完毕。
现在你可以看到在你的项目中生成了 .git 这个子目录。
这就是你的 Git 仓库了,所有有关你的此项目的快照数据都存放在这里。
ls -a. .. .gitgit clone使用 git clone 拷贝一个 Git 仓库到本地,让自己能够查看该项目,或者进行修改。
如果你需要与他人合作一个项目,或者想要复制一个项目,看看代码,你就可以克隆那个项目。
执行命令:git clone [url][url] 为你想要复制的项目,就可以了。
例如我们克隆 Github 上的项目:$ git clone **************:schacon/simplegit.gitCloning into 'simplegit'...remote: Counting objects: 13, done.remote: Total 13 (delta 0), reused 0 (delta 0), pack-reused 13Receiving objects: 100% (13/13), done.Resolving deltas: 100% (2/2), done.Checkingconnectivity... done.克隆完成后,在当前目录下会生成一个 simplegit 目录:$ cd simplegit/$ lsREADME Rakefile lib上述操作将复制该项目的全部记录。
Git常用命令详解
Git常⽤命令详解Git 是⼀个很强⼤的分布式版本管理⼯具,它不但适⽤于管理⼤型开源软件的源代码(如:),管理私⼈的⽂档和源代码也有很多优势(如:)Git 的更多介绍,请参考我的上⼀篇博客:⼀、 Git 命令初识在正式介绍Git命令之前,先介绍⼀下Git 的基本命令和操作,对Git命令有⼀个总体的认识⽰例:从Git 版本库的初始化,通常有两种⽅式:1)git clone:这是⼀种较为简单的初始化⽅式,当你已经有⼀个远程的Git版本库,只需要在本地克隆⼀份例如:git clone git:///someone/some_project.git some_project上⾯的命令就是将'git:///someone/some_project.git'这个URL地址的远程版本库,完全克隆到本地some_project⽬录下2)git init 和 git remote:这种⽅式稍微复杂⼀些,当你本地创建了⼀个⼯作⽬录,你可以进⼊这个⽬录,使⽤'git init'命令进⾏初始化;Git 以后就会对该⽬录下的⽂件进⾏版本控制,这时候如果你需要将它放到远程服务器上,可以在远程服务器上创建⼀个⽬录,并把可访问的URL记录下来,此时你就可以利⽤'git remote add'命令来增加⼀个远程服务器端,例如:git remote add origin git:///someone/another_project.git上⾯的命令就会增加URL地址为'git: ///someone/another_project.git',名称为origin的远程服务器,以后提交代码的时候只需要使⽤ origin别名即可⼆、 Git 常⽤命令1) 远程仓库相关命令检出仓库: $ git clone git:///jquery/jquery.git查看远程仓库:$ git remote -v添加远程仓库:$ git remote add [name] [url]删除远程仓库:$ git remote rm [name]修改远程仓库:$ git remote set-url --push [name] [newUrl]拉取远程仓库:$ 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选项只能删除已经参与了合并的分⽀,对于未有合并的分⽀是⽆法删除的。
gitee基本操作
gitee基本操作
1.注册账号:前往gitee网站,点击“注册”按钮,并填写相关信息,完成注册。
2. 创建仓库:登录后,在个人主页点击“新建仓库”,填写仓库名称、描述、选择仓库类型等相关信息,并确认创建。
3. 克隆仓库:在本地使用git命令行工具,执行“git clone 仓库地址”命令,将代码克隆到本地。
4. 提交代码:在本地修改完代码后,在命令行执行“git add .”命令,将修改的文件添加到本地仓库缓存区,再执行“git commit -m '提交信息'”命令,将修改的代码提交到本地仓库。
5. 推送代码:在本地执行“git push”命令,将本地仓库的修改推送到远程仓库。
6. 拉取代码:在本地执行“git pull”命令,将远程仓库最新的代码拉取到本地。
7. 分支管理:可以在仓库页面创建和切换分支,也可以在本地使用“git branch”、“git checkout”等命令进行分支管理。
8. 合并代码:在本地执行“git merge”命令,将不同分支的代码合并。
9. 问题处理:使用gitee提供的Issues功能,可以创建、编辑、关闭问题,并进行评论和指派。
10. 协作开发:在仓库页面,可以邀请他人加入协作,也可以通过fork和pull request等方式进行协作开发。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GIT日常操作命令
1、git三种状态
已提交(committed)已修改(modified)已暂存(staged)
2、获取项目的git仓库
git init//从当前目录初始化
git clone gitosis@192.168.2.4:soul/soul //从现有仓库克隆
3、配置git仓库相关信息
git config "yayun.tian"
git config user.email yayun.tian@
…....
4、检查当前文件状态
git status
5、跟踪新文件
git add<filename>
gir add --all//一次性跟踪当前目录全部文件注:可以创建一个名为.gitignore 的文件,列出要忽略的文件模式,例如:
# –
此为注释将被git 忽略
*.a # 忽略所有.a 结尾的文件
!lib.a # 但lib.a 除外
/TODO # 仅仅忽略项目根目录下的TODO 文件,不包括subdir/TODO
build/ # 忽略build/ 目录下的所有文件
doc/*.txt # 会忽略doc/notes.txt 但不包括doc/server/arch.txt
6、移除文件
git rm <filename>//移除暂存区的内容而且工作目录也连带删除注:如果仅仅想删除暂存区可以加上cached选项
—
7、提交
先用git diff --color 查看确认修改
git commit -a -m“comment”//comment代表此次修改的注释
git commit --amend //修改最后一次提交
如果忘记暂存某些文件就提交了,可以暂存后使用amend再次提交
注:加上-a表示把已经修改的文件全部提交,省去暂存的步骤
8、查看提交历史
git log
-p //展开显示每次提交的差异
-n //仅仅显示最近的n次提交
--stat //仅显示每次修改的概要信息
注:图形化工具查阅提交历史gitk
9、对比操作
git diff//显示还没有暂存起来的改动
git diff --cached//已经暂存起来的文件和上次提交时的快照之间的差异git diff HEAD//查看当前工作目录和已经提交的差别
git diff --stat//查看文件改动的大概信息
10、补丁操作
生成补丁方式1 git diff > 补丁名称
git apply 补丁名称
生成补丁方式2git format-patch HEAD~
patch -p1 < 补丁名称
git am补丁名称
注:对于git diff生成的patch,你可以用git apply --check 查看补丁是否能够干净顺利地应用到当前分支中,生成的Patch兼容性强。
11、恢复命令reset
git reset HEAD <file>//取消已经暂存的文件
git reset --mixed commit//默认方式,它回退到某个版本,只保留源码,回退commit和index信息(git diff可以查看到修改内容)
git reset --soft commit//回退到某个版本,只回退了commit的信息,如果还要提交,直接commit即可(git diff --cached可以查看到修改内容)
git reset --hard commit//彻底回退到某个版本,源码也回退
12、分支操作
查看分支git branch(本地)git branch -a(全部)
创建分支git branch testing
切换分支git checkout testing
重命名git branch -m <old_branch_name> <new_branch_name>
新建分支并切换git checkout -b <branch_name>
git checkout -b <branch_name> origin/branch 合并分支git merge 待合并分支需要合并分支
删除以前的分支git branch -d iss53//强制删除-D
git branch查看当前的分支--v 、--merge —
、no-merge选项可以使用
13、远程仓库操作
查看远程仓库git remote(简单查看)git remote -v(详细查看)
添加远程仓库git remote add <名称> gitosis@192.168.2.4:soul/soul-1
重命名远程仓库git remote rename <old_name> <new_name>
将远程分支更新到本地git fetch //不会merge
git pull//直接merge到本地推送到远程分支git push 远程仓库名分支名
推送本地所有分支git push --all(默认origin)git push --all <仓库名>删除远程分支git push origin :<分支名>。