git相关操作。
之前只会用图形端的GIT中,命令行的比较陌生,整理下,供自己以后参考
关键的名词:
工作区:工作区
Index / Stage:暂存区
仓库:仓库区(或本地仓库)
远程控制:远程仓库



到项目目录下git init
git init
在文件夹中生成.git文件,后续的git add和git commit操作会将相关的文件存在.git文件中
git pull
git pull <远程主机名> <远程分支名> :<本地分支名>
如果git remote,并且checkout了本地分支和远程分支匹配好了的话,可以直接git pull
git -v 查看remote详细信息。
在工作目录中获取并合并远端仓库的改动。
git remote
git remote rm origin
git remote add origin ssh:// xxxxxxxxxxxx
添加远程仓库,显写rm是因为可能会报错:远程原点已经存在。
git clone
git clone“”
下载文件到本地
git clone -b test https://github.xxxx.git
在克隆的时候直接进行切换分支
git branch
git branch 查看本地分支
git branch -a 查看远程分支
git branch -vv查看本地远程分支的对应关系
git branch -r / -a查看远程/所有分支
** git branch -r 的时候出现: **远端新建了分支,可是这里不显示,首先git fetch 拉取远端最新的改变,再进行git branch -r
git branch xxx创建本地分支
git branch -d xxx删除本地分支
git branch -u origin/ xxx或者git branch --set-upstream-to origin / xxx# g将本地分支与远程分支关联
git checkout
参考:
https://www.cnblogs.com/libertycode/p/5858450.html
https://blog.csdn.net/tanningzhong/article/details/79724488
git checkout xxx切换本地分支
git checkout -b xxx切换本地分支没有就创建
下面这种需要两步
1 git checkout -b dev origin/dev,作用是checkout远程的dev分支,在本地起名为dev分支,并切换到本地的dev分支
2 git checkout dev,切换回dev分支,并开始开发。
不如直接:
git checkout -t origin/2.0.0
如果仅仅是checkout -b本地分支和远程分支同名,没有对应的关系,直接git push 是成功的,应该是在git pull或者git push的时候本地和远程的分支是同名的,自动push到对应的
git add
git add。git add xxx
添加全部修改的代码,或添加部分修改的代码,添加到暂存区索引/阶段
整理:
git add -A提交所有变化
git add -u提交被修改(已修改)和被删除(已删除)文件,不包括新文件(新)
git add。提交新文件(新)和被修改(修改)文件,不包括被删除(删除)文件
git commit
git commit -m“”
提交代码到本地仓库库
git commit --amend
新的-m commit描述并不能更新,运行此命令可以有机会重新编辑-m的描述
git push
关于gitpush的详细一点的问题:https://blog.csdn.net/dataiyangu/article/details/84988559
git push origin xxx(本地):xxx(远程)
注意”:“和本地、远程之间是没没有空格的!
git push 之前最好Git pull 下
推到远程仓库远程
git push origin xxx
省略远程分支,默认上传到与本地分支对应的仓库,没有会创建
git push origin:xxx
省略本地分支,相当于删除远程分支,因为给了空值
git push origin
本地分支与远程分支有对应关系,都可以省略
git push
本地分支只有一个对应的远程分支,则都可以省略
git remove
git rm -rf 文件夹名
git reset --soft HEAD^
撤销提交到暂存区。
骚操作:追踪远程分支的其他方法
①进入当前项目根目录的’.git’文件夹(请自行设置显示隐藏文件)。打开配置文件(注意不要用window记事本打开)。
② [remote “origin”]这一项的英文修改对应远程GIT中仓库地址。
③ [branch “master”]这一项的英文修改本地分支’主’的远程追踪关系分支,修改直接merge = refs/heads/master为merge = refs/heads/dev
④再次通过命令行查看状态就可以发现你的远程分支已经改掉。
⑤可能出现的问题补充:
没有[branch “master”]这一怎么办?
如果是新项目,没有git pull或git clone,就不会与远程分支建立关系,或者也可以自己添加这一项,但不建议。
注意:有时候git pull报如下的错误:
自动合并失败:修复冲突然后提交结果
是因为git pul = git fetch + git merge
在git merge的过程中存在合并冲突,合并冲突包括:
1.多个代码更改发生在同一行
2.一个提交删除了问价,另一个提交准备编辑该文件
解决:通过git status中的
两者都修改过:XXX可以看到发生冲突合并的文件。
<<<<<<<<<< HEAD
提交一的代码
自己的代码
============
提交二的代码
别人的代码
>>>>>>>>>>分支-a
自己手动修改是要保留提交一还是保留提交二,还是两者都保留或者删除。
如果是文件的话,根据是否需要添加或者删除该文件
git add xxx
git rm xxx
git commit会将rm的操作提交上去,单纯的rm xxx不会将历史提交,可以通过git commit -a进行提交
之后依然是之前的操作git add。git commit -m“”git pull git push
Git的忽略提交规则:
https://blog.csdn.net/dataiyangu/article/details/85236766
git相关操作。的更多相关文章
- git相关操作
git相关命令 基本操作 git init git add xxx git commit -m "first commit" git tag -a V1.0 -m '我的标签' g ...
- Git相关操作汇总
git clone: 正如上图,当我们打开终端的情况下,默认我们所在的目录是在/home/shiyanlou的,大家可以在终端输入以下命令把目录切换到桌面cd /home/Desktop这个时候输入 ...
- Git相关操作及记录
一.软件 1.下载Git客户端软件 Widows平台: https://github.com/git-for-windows/git/releases/download/v2.13.0.windows ...
- Git相关操作三
1.显示当前分支: git branch 输入上述命令可以显示出分支,*所在的分支为当前分支. 2.新建分支: git branch new_branch new_branch为新建分支的名称,注意该 ...
- Git相关操作二
1.查看HEAD提交: git show HEAD 在git中,目前提交被称为HEAD提交,输入上述命令可以查看当前提交所有文件的修改内容. 2.撤销更改: git checkout HEAD fil ...
- git相关操作(githug)
Level 15 restructure 关卡描述 你添加了一些文件到你的仓库,但现在知道你的项目需要进行调整.创建一个新的文件夹命名为“src”,使用git将所有的".html" ...
- 这里有一份热乎乎的git相关操作
文件操作 git init (添加文件): git status (查看文件状态): git diff (查看修改内容): git rm (删除文件): git add (把文件保存在暂存区): gi ...
- Git相关操作四
1.克隆远程仓库 git clone remote_location clone_name remote_location为仓库地址,clone_name为要克隆到本地的仓库名称. 2.显示对应克隆地 ...
- Git相关操作一
1.将目录变为Git项目: 输入git init将当期目录变为Git项目 git init git项目可以被认为分为三个区域,Working Directory,Staging Area,Reposi ...
随机推荐
- C++11下的关键字
STL类:stack,queue,deque,priority_queue,map,set,multiset,bitset,vector 函数类:min,max,swap,sqrt,log,rever ...
- JSON.NET与LINQ序列化示例教程
1.手动创建JSON对象和数组 JSON格式主要包括对象和数组两种形式,在JSON.NET中分别用JArray和JObject表示,属性用JProperty表示,属性值用 JValue表示,这些对象都 ...
- (转)OpenFire源码学习之十七:HTTP Service插件
转:http://blog.csdn.net/huwenfeng_2011/article/details/43457645 HTTP Service插件 这里的http接口插件是神马? Openfi ...
- shell重定向的顺序问题
三个默认的文件描述符 0: stdin(标准输入) 1: stdout(标准输出) 2: stderr(标准错误输出) 系统中这3个文件描述符所对应的文件: 重定向顺序 示例脚本 echo " ...
- C++——指针与引用
1.指针本身为对象,引用只是对象的别名.故有指针的引用,没有引用的引用,没有引用的指针.指针必须指向一个实际的对象.引用也必须是实际对象的别名. 2.允许指针赋值和拷贝,指针可指向不同的对象 3.指针 ...
- 剑指offer第二版面试题2:数组中重复的数字(JAVA版)
题目:在一个长度为n+1的数组里的所有数字都在1~n的范围内,所以数组中至少有一个数字是重复的.请找出数组中任意一个重复的数字,但是不能修改输入的数组.例如,如果输入长度为8的数组{2,3,5,4,3 ...
- Rollei SL66 使用说明
根据记忆,并用不规范的语言描述我对sl66的使用心得:一.上卷1.用摇把顺时针转到12点位置,再退回3点位置:2.安插刀:3.后背上方按钮向右拨,打开后背:4.取出,装卷,再放入:5.转动后背上旋钮, ...
- 面试总结【css篇】- css选择器以及优先级
优先(优先级为): !important > 内联样式 > #id > .class > tag > * > 继承 > 默认 . 当选择器的权重相同时,它将 ...
- Redis数据结构之跳跃表-skiplist
在Redis中,zset是一个复合结构: 使用hash来存储value和score的映射关系 使用跳跃表来提供按照score进行排序的功能,同时可以指定score范围来获取value列表 结构 zse ...
- 32-Ubuntu-用户权限-03-修改文件权限
chmod 简介 chmod可以修改用户或组对文件或目录的权限. 命令格式如下: chmod +/-rwx 文件名/目录名 修改文件权限 例:demo.txt 1.增加权限 例:增加demo.txt的 ...