Git 常用命令合集
图解git中的最常用命令

图解git中的最常用命令如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻。
正文1. 基本用法2. 约定3. 命令详解(1). Diff(2). Commit(3). Checkout(4). Detached HEAD(匿名分支提交)(5). Reset(6). Merge(7). Cherry Pick(8). Rebase4. 技术说明基本用法上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。
· git add files把当前文件放入暂存区域。
· git commit给暂存区域生成快照并提交。
· git reset – files用来撤销最后一次git add files,你也可以用git reset撤销所有暂存区域文件。
· git checkout – files把文件从暂存区域复制到工作目录,用来丢弃本地修改。
你可以用git reset -p,git checkout -p, orgit add -p进入交互模式。
也可以跳过暂存区域直接从仓库取出文件或者直接提交代码。
· git commit -a相当于运行git add把所有当前目录下的文件加入暂存区域再运行。
git commit.· git commit files进行一次包含最后一次提交加上工作目录中文件快照的提交。
并且文件被添加到暂存区域。
· git checkout HEAD – files回滚到复制最后一次提交。
约定后文中以下面的形式使用图片。
绿色的5位字符表示提交的ID,分别指向父节点。
分支用橘色显示,分别指向特定的提交。
当前分支由附在其上的HEAD标识。
这张图片里显示最后5次提交,ed489是最新提交。
master分支指向此次提交,另一个maint分支指向祖父提交节点。
图解git中的最常用命令(2)命令详解Diff有许多种方法查看两次提交之间的变动。
LinuxGIT命令大全linux命令大全

LinuxGIT命令大全linux命令大全语法:Git命令F1:执行info指令,查询指令相关信息,会要求您输入欲查询的名称。
F2:执行cat指令,列出文件内容。
F3:执行gitview指令,观看文件内容。
F4:执行vi指令,编辑文件内容。
F5:执行cp指令,复制文件或目录,会要求您输入目标文件或目录。
F6:执行mv指令,移动文件或目录,或是更改其名称,会要求您输入目标文件或目录。
F7:执行mkdir指令,建立目录。
F8:执行rm指令,删除文件或目录。
F9:执行make指令,批处理执行指令或编译程序时,会要求您输入相关命令。
F10:离开git文件管理员。
-----------------Git命令具体使用-------------------------------Git是一个分布式的版本控制工具,本篇文章从介绍Git开始,重点在于介绍Git的基本命令和使用技巧,让你尝试使用Git的同时,体验到原来一个版本控制工具可以对开发产生如此之多的影响,文章分为两部分,第一部分介绍Git的一些常用命令,其中穿插介绍Git的基本概念和原理,第二篇重点介绍Git的使用技巧,最后会在GitHub上创建一个开源项目开启你的Git实战之旅Git是什么Git在Wikipedia上的定义:它是一个免费的、分布式的版本控制工具,或是一个强调了速度快的源代码管理工具。
Git最初被LinuTorvald开发出来用于管理Linu某内核的开发。
每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,不依赖于网络和中心服务器。
Git的出现减轻了许多开发者和开源项目对于管理分支代码的压力,由于对分支的良好控制,更鼓励开发者对自己感兴趣的项目做出贡献。
其实许多开源项目包括Linu某kernel,Samba,某.orgServer,RubyonRail,都已经过渡到使用Git作为自己的版本控制工具。
对于我们这些喜欢写代码的开发者嘛,有两点最大的好处,我们可以在任何地点(在上班的地铁上)提交自己的代码和查看代码版本;我们可以开许许多多个分支来实践我们的想法,而合并这些分支的开销几乎可以忽略不计。
Git基本命令-详细版本

Git基本命令-详细版本初始化仓库git init意义:将某个项⽬⽬录变为git操作⽬录,⽣成git本地仓库。
即该项⽬⽬录可以使⽤git管理注意:初始化完毕项⽬⽬录后,添加markdown⽂件:readme.md,便于GitHub阅读项⽬简介查看本地仓库状态git status说明:初始化仓库后默认⼯作在master分⽀,当⼯作区与仓库区不⼀致时会有提⽰将⼯作内容记录到暂存区git add filenamegit add filename1 filename2 ...git add dir(⽂件夹)git add .(提交当前⽬录所有⽂件)git add *(提交所有项⽬⽂件,除【隐藏⽂件】外)将记录从暂存区撤回到⼯作区git rm --cached filename将⽂件同步到本地仓库git commit [file] -m [message]说明:-m 表⽰添加⼀些同步信息,表达同步内容eg:将暂存区所有记录同步到仓库区git commit -m 'add files'忽略⽂件在项⽬路径下,创建⽂件:.gitignore作⽤:配置不需要提交到仓库的⽂件集合在.gitignore⽂件中,增加需要忽略提交的⽂件或⽂件夹eg:.idea (pycharm的系统⽂件)移动或者删除⽂件移动:git mv [file] [path]删除:git rm [files]注意:这两个操作会修改⼯作区内容,同时将操作记录提交到暂存区跟 git add 属于同⼀级别的操作将暂存区或者某个commit点的⽂件恢复到⼯作区git checkout [commit] -- filename-- 是为了防⽌误操作,checkout还有切换分⽀的作⽤⽐较⼯作区⽂件和仓库区⽂件的差异git diff filename查看commit⽇志记录git log作⽤:查看详细的提交⽇志git log --pretty=oneline作⽤:⽐较简化的⽇志显⽰⽅案⽐较⼯作区⽂件和仓库区⽂件的差异git diff filename将暂存区或者某个commit点的⽂件恢复到⼯作区git checkout [commit] -- filename-- 是为了防⽌误操作,checkout还有切换分⽀的作⽤移动或者删除⽂件移动:git mv [file] [path]删除:git rm [files]注意:这两个操作会修改⼯作区内容,同时将操作记录提交到暂存区跟 git add 属于同⼀级别的操作忽略⽂件在项⽬路径下,创建⽂件:.gitignore作⽤:配置不需要提交到仓库的⽂件集合在.gitignore⽂件中,增加需要忽略提交的⽂件或⽂件夹eg:.idea (pycharm的系统⽂件)。
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使用技巧1、版本管理历史集中式版本控制、分布式版本控制CVS -> SVN -> GITGIT由来,出于人道主义精神,免费使用BitMover公司的BitKeeper,Samba的Andrew反向工程(试图破解BitKerper协议),收回免费使用权限,不得不自己开发,2周之后git诞生,2008年github网站上线2、安装配置git config -l 显示所有配置信息git config --global -l 显示所有全局配置信息git config --global '用户名'git config --global user.email '邮箱'git config --global push.default simple/matchingsimple:只推送当前分支matching:推送所有同名分支3、基本操作git init 初始化版本库git add test.txt 添加test.txt文件git add . 添加所有文件git commit -m '信息' 提交修改git commit -a -m '信息' 提交所有修改,相当于默认执行了(git add .) git commit -a --amend 修改上次提交(本地使用,已经推送到仓库的提交不要使用)git status [-s] 查看当前[简短]状态git log [--oneline] 查看提交日志[单行显示]git log [--graph] 查看提交日志[显示提交树]git rm filename 删除工作区文件,并将这次删除放入暂存区git rm --cached file 停止追踪文件,但文件会保留在工作区git mv old new 改文件名,并将这次修改放入暂存区4、文件忽略.gitignore文件语法规则:空行或#开头的行(注释行)将会被忽略test.txt 指定test.txt文件abc/ 忽略abc文件夹/abc 忽略当前目录下的abc,不包括其他目录下的abc*.apk 忽略后缀为apk的文件!a.apk 除了a.apk文件*.[oa] 或略所有.o和.a后缀的文件abc/*.log 忽略abc目录下的所有log文件,不会递归查找abc/**/*.log 忽略abc目录下的所有log文件,会递归查找忽略已经添加到仓库的文件或目录,[--cached]会保留本地文件忽略文件:git rm --cached file_name忽略目录:git rm -r --cached dir_name然后提交推送即可5、分支管理git branch 显示本地所有分支git branch -r 显示远程所有分支git branch -a 显示本地和远程所有分支git branch test [master] [基于master分支]创建test分支git branch -d test 删除本地test分支git push origin --delete testgit branch -dr test 结合上步操作,删除远程test分支git merge test 将test分支合并到当前分支git checkout test 切换到指定test分支git checkout -b test 创建test分支并切换git checkout index.php 将index.php文件的修改撤销git checkout . 将恢复上次commit到工作区git checkout HEAD [index] [将index文件]从版本库中替换暂存区及工作区git reset HEAD index.php 将index.php文件的add操作撤销6、开发流程master 主分支,主要用来版本发布develop 日常开发分支,该分支正常保存了开发的最新代码release master分支的未测试板,比如某期功能开发完成,那么就将develop分支合并到release分支,测试没有问题,并且到了发布日期就合并到master分支,进行发布local 本地功能分支,一般fork自develop分支7、远程分支git clone git仓库克隆一个git仓库git checkout develop 首次clone仓库后看不到其它分支,需要作此操作git pull 从托管服务器拉取并合并,若工作区或暂存区有待处理则无法执行git fetch 从托管服务器拉取,但是不合并git push 向托管服务器推送,若服务器版本有更改则会失败需要先pull8、先本地创建,再远程托管git initgit add .git commit -a -m 'init' 添加修改到暂存区并提交(只能是已经纳入管理的文件)git remote add origin 远程仓库git push -u origin master 首次需要输入用户名和密码(会缓存)git credential-manager uninstall 清除缓存的用户名和密码9、差异比较git diff 工作区与上次提交的差异git diff --cached 暂存区与上次提交的差异git diff --staged 暂存区与上次提交的差异git diff HEAD^ HEAD 上次提交和上上次提交的差异git diff sha1 sha2 两次历史提交的差异10、恢复命令1、git reset [--mixed] <commit-id> 默认选项恢复到指定提交,会修改commit和工作区,再次提交需要add/commit2、git reset --soft <commit-id>恢复到指定提交,会修改commit,再次可以直接commit3、git reset --hard <commit-id>恢复到指定提交,会修改commit和工作区,不会保留任何东西4、git reset HEAD^恢复到上次的提交,即删除最后一次的提交5、git reset HEAD index.php恢复index.php文件的add操作11、SSH登录1、在~/.ssh目录生成公钥私钥对:ssh-keygen [-t rsa]2、将公钥添加到项目中, => Settings => SSH and GPG keys3、之后即可无密码登录(首次登录会有信任提示)12、工作原理:13、标签参数介绍:-a:添加附注标签-m:指定说明信息-d:删除附注标签-l:列表显示标签实例演示:git tag [-l/--list] 列出所有标签git tag v1.0 [commit] 创建基于指定提交的标签git show [tag] 查看tag信息git push [remote] [tag] 提交指定taggit push [remote] --tags 提交所有taggit checkout -b [branch] [tag] 新建一个分支,指向某个tag14、远程同步git fetch [remote] 下载远程仓库到本地仓库,不会改变暂存区和工作区git remote -v 显示所有远程仓库git remote show [remote] 显示某个远程仓库的信息git remote add [name] url 增加一个新的远程仓库,并命名git remote remove name 移除指定的远程仓库git pull [remote] [branch] 下载远程仓库到本地仓库并合并,会改变暂存区/工作区git push [remote] [branch] 上传本地分支到远程仓库git push [remote] --force 强行推送本地分支到远程仓库,即使有冲突git push [remote] --all 推送所有分支到远程git push --set-upstream origin develop为推送本地develop分支建立与远程上游的追踪,首次推送远程不存在的分支时使用15、忽略文件权限的修改现象:首次推送到服务器上的代码,文件全部都修改了,不同系统的文件权限管理的形式不同git config core.filemode false16、冲突解决产生原因:多人的提交修改了相同的文件现象:推送失败,提示有更新的提交,请先拉取(git pull)出现冲突:<<<<<<< HEAD123 本地的修改=======111111 远程的修改>>>>>>> a5a658088bf3ef6bd5124a2eda992b91d66b1340解决方案:修改代码123111111提交推送git commit -a -m '合并冲突'git push17、忽略指定文件的修改忽略指定文件的修改:git update-index --assume-unchanged 文件名取消忽略文件的修改:git update-index --no-assume-unchanged 文件名。
Git常用命令

Git常用命令Git跟踪管理的是修改而并非文件git log --oneline(查看历史消息简介版)git log --oneline--graph(查看历史消息简介版,用图形显示)git log --reverse --oneline(逆序显示)git log --author=cdl --oneline -5(显示作者,最近的五条)git log --oneline --before={3.weeks.ago} --after={2018-1-1} --no-merges(显示三周前,一月一号之后提交的,nomerge来隐藏合并)gitlog --oneline --decorate --graph(decorate可以看到标签)gitrm * -r 批量删除git add -A批量添加(new modified deleted)gitadd .批量添加(new modified deleted)git add –ignore-removal(new modified)git add –u(modified deleted)删除本地版本库:rm -rf .git(先删除.git) rm -rflearngit(再删除版本库)1 gitinit把某个文件夹作为版本库2 git add a.txt把文件加入到版本库(文件需先放在版本库)提交修改3 gitcommit –m “commit 3 files”提交4 gitlog查看历史提交文档5 gitlog –pretty=oneline查看一条主线的日志6 git reset --hard HEAD^ hard后面指定版本(HEAD是当前版本^是当前版本的上一个版本^^是上上个版本)7 git reset --hard a28b6df后面跟上版本id就能回到那个版本(就是commit后面那个id)回退到上一个版本再想回到当前版本就必须指定commit id8 gitreflog记录每一条git命令(包括commit id)git回退只是把当前head指针指向前一个版本,顺便更新工作区文件git status 比较工作区和版本库的差别9 .git称之为版本库,git add是把要提交的修改放在暂存区(stage),提交的文件修改都放在暂存区,然后一次性提交暂存区的所有修改。
常用 Git 命令清单 - 阮一峰的网络日志

三、增加/删除文件
# 添加指定文件到暂存区 $ git add [file1] [file2] ... # 添加指定目录到暂存区,包括子目录 $ git add [dir] # 添加当前目录的所有文件到暂存区 $ git add . # 添加每个变化前,都会要求确认 # 对于同一个文件的多处变化,可以实现分次提交 $ git add ‐p # 删除工作区文件,并且将这次删除放入暂存区 $ git rm [file1] [file2] ... # 停止追踪指定文件,但该文件会保留在工作区 $ git rm ‐‐cached [file] # 改名文件,并且将这个改名放入暂存区 $ git mv [file‐original] [file‐renamed]
十、其他
# 生成一个可供发布的压缩包 $ git archive
一、新建代码库
# 在当前目录新建一个Git代码库 $ git init # 新建一个目录,将其初始化为Git代码库 $ git init [project‐name] # 下载一个项目和它的整个代码历史 $ git clone [url]
Байду номын сангаас
二、配置
Git的设置文件为 .gitconfig ,它可以在用户主目录下(全局配置),也可以在项目目录下(项目配置)。
常用 Git 命令清单
作者: 阮一峰 日期: 2015年12月 9日 我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100个命令。
下面是我整理的常用 Git 命令清单。几个专用名词的译名如下。
Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) Remote:远程仓库
Git命令详解及常用命令整理

Git命令详解及常⽤命令整理Git 命令详解及常⽤命令Git作为常⽤的版本控制⼯具,多了解⼀些命令,将能省去很多时间,下⾯这张图是⽐较好的⼀张,贴出了看⼀下:关于git,⾸先需要了解⼏个名词,如下:Workspace //⼯作区Index / Stage //暂存区Repository //仓库区(或本地仓库)Remote //远程仓⼀、新建代码库// 在当前⽬录新建⼀个Git代码库$ git init// 新建⼀个⽬录,将其初始化为Git代码库$ git init [project-name]// 下载⼀个项⽬和它的整个代码历史$ git clone [url]⼆、配置Git的设置⽂件为.gitconfig,它可以在⽤户主⽬录下(全局配置),也可以在项⽬⽬录下(项⽬配置)。
// 显⽰当前的Git配置$ git config --list// 编辑Git配置⽂件$ git config -e [--global]// 设置提交代码时的⽤户信息$ git config [--global] "[name]"$ git config [--global] user.email "[email address]"三、增加/删除⽂件// 添加指定⽂件到暂存区$ git add [file1] [file2] ...// 添加指定⽬录到暂存区,包括⼦⽬录$ git add [dir]// 添加当前⽬录的所有⽂件到暂存区$ git add .// 添加每个变化前,都会要求确认// 对于同⼀个⽂件的多处变化,可以实现分次提交$ git add -p// 删除⼯作区⽂件,并且将这次删除放⼊暂存区$ git rm [file1] [file2]// 停⽌追踪指定⽂件,但该⽂件会保留在⼯作区$ git rm --cached [file]// 改名⽂件,并且将这个改名放⼊暂存区$ git mv [file-original] [file-renamed]四、代码提交// 提交暂存区到仓库区$ git commit -m [message]// 提交暂存区的指定⽂件到仓库区$ git commit [file1] [file2] ... -m [message]// 提交⼯作区⾃上次commit之后的变化,直接到仓库区$ git commit -a// 提交时显⽰所有diff信息$ git commit -v// 使⽤⼀次新的commit,替代上⼀次提交// 如果代码没有任何新变化,则⽤来改写上⼀次commit的提交信息$ git commit --amend -m [message]// 重做上⼀次commit,并包括指定⽂件的新变化$ git commit --amend [file1] [file2]五、分⽀// 列出所有本地分⽀$ git branch// 列出所有远程分⽀$ git branch -r// 列出所有本地分⽀和远程分⽀$ git branch -a// 新建⼀个分⽀,但依然停留在当前分⽀$ git branch [branch-name]// 新建⼀个分⽀,并切换到该分⽀$ git checkout -b [branch]// 新建⼀个分⽀,指向指定commit$ git branch [branch] [commit]// 新建⼀个分⽀,与指定的远程分⽀建⽴追踪关系$ git branch --track [branch] [remote-branch]// 切换到指定分⽀,并更新⼯作区$ git checkout [branch-name]// 切换到上⼀个分⽀$ git checkout -// 建⽴追踪关系,在现有分⽀与指定的远程分⽀之间$ git branch --set-upstream [branch] [remote-branch]// 合并指定分⽀到当前分⽀$ git merge [branch]// 选择⼀个commit,合并进当前分⽀$ git cherry-pick [commit]// 删除分⽀$ git branch -d [branch-name]// 删除远程分⽀$ git push origin --delete [branch-name]$ git branch -dr [remote/branch]六、标签// 列出所有tag$ git tag// 新建⼀个tag在当前commit$ git tag [tag]// 新建⼀个tag在指定commit$ git tag [tag] [commit]// 删除本地tag$ git tag -d [tag]// 删除远程tag$ git push origin :refs/tags/[tagName]// 查看tag信息$ git show [tag]// 提交指定tag$ git push [remote] [tag]// 提交所有tag$ git push [remote] --tags// 新建⼀个分⽀,指向某个tag$ git checkout -b [branch] [tag]七、查看信息// 显⽰有变更的⽂件$ git status// 显⽰当前分⽀的版本历史$ git log// 显⽰commit历史,以及每次commit发⽣变更的⽂件$ git log --stat// 搜索提交历史,根据关键词$ git log -S [keyword]// 显⽰某个commit之后的所有变动,每个commit占据⼀⾏$ git log [tag] HEAD --pretty=format:%s// 显⽰某个commit之后的所有变动,其"提交说明"必须符合搜索条件$ git log [tag] HEAD --grep feature// 显⽰某个⽂件的版本历史,包括⽂件改名$ git log --follow [file]$ git whatchanged [file]// 显⽰指定⽂件相关的每⼀次diff$ git log -p [file]// 显⽰过去5次提交$ git log -5 --pretty --oneline// 显⽰所有提交过的⽤户,按提交次数排序$ git shortlog -sn// 显⽰指定⽂件是什么⼈在什么时间修改过$ git blame [file]// 显⽰暂存区和⼯作区的差异$ git diff// 显⽰暂存区和上⼀个commit的差异$ git diff --cached [file]// 显⽰⼯作区与当前分⽀最新commit之间的差异$ git diff HEAD// 显⽰两次提交之间的差异$ git diff [first-branch]...[second-branch]// 显⽰今天你写了多少⾏代码$ git diff --shortstat "@{0 day ago}"// 显⽰某次提交的元数据和内容变化$ git show [commit]// 显⽰某次提交发⽣变化的⽂件$ git show --name-only [commit]// 显⽰某次提交时,某个⽂件的内容$ git show [commit]:[filename]// 显⽰当前分⽀的最近⼏次提交$ git reflog⼋、远程同步# 下载远程仓库的所有变动$ git fetch [remote]# 显⽰所有远程仓库$ git remote -v# 显⽰某个远程仓库的信息$ git remote show [remote]# 增加⼀个新的远程仓库,并命名$ git remote add [shortname] [url]# 取回远程仓库的变化,并与本地分⽀合并$ git pull [remote] [branch]# 上传本地指定分⽀到远程仓库$ git push [remote] [branch]# 强⾏推送当前分⽀到远程仓库,即使有冲突$ git push [remote] --force# 推送所有分⽀到远程仓库$ git push [remote] --all九、撤销// 恢复暂存区的指定⽂件到⼯作区$ git checkout [file]// 恢复某个commit的指定⽂件到暂存区和⼯作区$ git checkout [commit] [file]// 恢复暂存区的所有⽂件到⼯作区$ git checkout .// 重置暂存区的指定⽂件,与上⼀次commit保持⼀致,但⼯作区不变$ git reset [file]// 重置暂存区与⼯作区,与上⼀次commit保持⼀致$ git reset --hard// 重置当前分⽀的指针为指定commit,同时重置暂存区,但⼯作区不变$ git reset [commit]// 重置当前分⽀的HEAD为指定commit,同时重置暂存区和⼯作区,与指定commit⼀致$ git reset --hard [commit]// 重置当前HEAD为指定commit,但保持暂存区和⼯作区不变$ git reset --keep [commit]// 新建⼀个commit,⽤来撤销指定commit// 后者的所有变化都将被前者抵消,并且应⽤到当前分⽀$ git revert [commit]// 暂时将未提交的变化移除,稍后再移⼊$ git stash$ git stash pop⼗、其他// ⽣成⼀个可供发布的压缩包$ git archive感谢阅读,希望能帮助到⼤家,谢谢⼤家对本站的⽀持!。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
====== Git 常用命令合集======
=== 1.Git 文档===
Git 中文文档观看地址:/progit/
=== 2.Git 基本指令===
git config --global //设置全局用户名,不加gloabl为局部
git config --global user.email //设置全局用户邮箱。
git --bare init //初始化git 不生成.git目录,没有工作空间(work tree)。
远程仓库初始化时使用。
git init //初始化git,生成.git目录
cat .gitignore //根据规则配置忽略跟踪文件。
git clone url //从url路径克隆项目到本地仓库。
git status //查看工作目录下文件状态。
git add file //将文件或者路径添加到暂存区。
git reset HEAD file //将文件撤出暂存区。
git checkout --file //取消对文件的修改。
git rm file //删除文件-cached 不删除本地文件-f强制删除
git diff //查看修改文件和暂存区文件的差异-staged //暂存文件与上次提交的差异。
git commit -am “txt” //将暂存区的和已修改的文件提交进仓库txt为记录。
git log //查看提交历史可通过gitg查看。
git fetch pd //从远程仓pd库抓取数据到本地git pull。
git push pd master //将本地master分支推向pd远程仓库。
git push [远程仓库名][本地分支]:[远程分支]
/××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××
如果远程仓库不是bare init的情况下,当本地仓库push远程仓库所在分支时结果
不会相应在work tree上。
如果远程仓库不在push的分支上则可以。
(远程仓库不
需要work tree)
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/ === 3.Git remote 指令===
git remote -v //查看当前远程仓库的名字和地址的信息列表。
git remote show wepu //查看远程仓库wepu的信息
git remote add test url //添加名为test的远程仓库。
git remote rename pd paul //将远程仓库pd名字改为paul
git remote rm paul //移除远程仓库paul
=== 4.Git branch 指令===
分支是从某个提交对象往回看的历史,本质是指向commit对象的可变指针(HEAD),每次提交会自动向前。
git branch //查看当前仓库分支
git branch -v //增加显示最后一个提交对象的信息
git branch -a //查看远程仓库分支
git checkout -b A //创建并指向A分支= git branch A + git checkout A
git branch -d A //删除A分支
git push pd :A //删除远程仓库上的分支A ,省略本地分支详细格式见基本指令
git merge A //把A分支合并入当前分支,形成一次新的提交。
当两个分支都对某个文件相同行修改数据
需要工解冲突。
解决完之后执行add和commit
git rebase A //把A分支合并入当前分支,形成一次新的提交当两个分支都对某个文件相同行修改数据需
要人工解冲突。
解决完之后add.rebase –continue
git rebase –onto master A B //取出B分支,找出B和A分支的共同祖先之后的变化,以master为基地分支进行rebase
git cherry pick commitID //将别的分支的提交放在当前分支。
先git log确认想要移动提交对象的commitID
git stash //搁置当前所有的改动,先git add.将所有的改动加入暂存区,然后git stash save "detial"
这时工作平台就回到改动前的版本了,如需要恢复:git stash apply
/××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××rebase:如果分支中的提交对象已经发布到公共仓库,新手最好不要对该分支进行
rebase操作。
因为rebase会抛弃一些现有的提交对象,然后创造出不同的新的提
交对象。
同步代码后可能会出现混乱
×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/。