起名开运:做最专业的国学起名网 最新资讯 最新问答
当前位置: 首页 起名开运资讯

git改名

git常用命令是什么

1、在当前目录新建一个Git代码库,:$ git init

2、新建一个目录,将其初始化为Git代码库,:$ git init [project-name]

3、下载一个项目和它的整个代码历史,:$ git clone [url]

4、显示当前的Git配置,:$ git config--list

5、编辑Git配置文件,:$ git config-e [--global]

6、设置提交代码时的用户信息,:$ git config [--global] user.name"[name]",:$ git config [--global] user.email"[email address]"

7、添加指定文件到暂存区,:$ git add [file1] [file2]...

8、添加指定目录到暂存区,包括子目录,:$ git add [dir]

9、添加当前目录的所有文件到暂存区,:$ git add.

10、对于同一个文件的多处变化,可以实现分次提交,:$ git add-p

11、删除工作区文件,并且将这次删除放入暂存区,:$ git rm [file1] [file2]...

12、停止追踪指定文件,但该文件会保留在工作区,:$ git rm--cached [file]

13、改名文件,并且将这个改名放入暂存区,:$ git mv [file-original] [file-renamed]

14、提交暂存区到仓库区,:$ git commit-m [message]

15、提交暂存区的指定文件到仓库区,:$ git commit [file1] [file2]...-m [message]

16、提交工作区自上次commit之后的变化,直接到仓库区,:$ git commit-a

17、提交时显示所有diff信息,:$ git commit-v

18、使用一次新的commit,替代上一次提交

19、如果代码没有任何新变化,则用来改写上一次commit的提交信息,:$ git commit--amend-m [message]

20、重做上一次commit,并包括指定文件的新变化,:$ git commit--amend [file1] [file2]

扩展资料:

git有以下功能:

1、从服务器上克隆完整的Git仓库(包括代码和版本信息)到单机上。

2、在自己的机器上根据不同的开发目的,创建分支,修改代码。

3、在单机上自己创建的分支上提交代码。

4、在单机上合并分支。

5、把服务器上最新版的代码fetch下来,然后跟自己的主分支合并。

6、生成补丁(patch),把补丁发送给主开发者。

7、看主开发者的反馈,如果主开发者发现两个一般开发者之间有冲突(他们之间可以合作解决的冲突),就会要求他们先解决冲突,然后再由其中一个人提交。如果主开发者可以自己解决,或者没有冲突,就通过。

8、一般开发者之间解决冲突的方法,开发者之间可以使用pull命令解决冲突,解决完冲突之后再向主开发者提交补丁。

Git之远程分支改名

一般情况下是用不到远程分支改名的,只是最近项目中想把某个已是既成事实的开发分支改名成对应的dev分支,所以有了这个需求。

其实改名是一个偷懒的做法,本来应该是把这个待改名的分支merge到原dev分支上的,但是尝试了一下发现冲突太多了,有上百个,一下就泄气了,干脆改名。(这次也给了自己个警告,特性分支应该尽早合并到dev上来,如果走的太远了,就容易出现这个情况)

远程分支改名,其实就是先把远程分支给删除了,然后本地分支改名之后push上去即可,下面列下操作:(假设当前在本地分支�old上,要把它正名为new)

git branch-avv看下,会发现new分支对应的上游分支仍然是origin/old,但是多了一个gone标识,所以接下来我们要把new分支设置上游分支同时push上去

现在就完成了改名的步骤,我们当前的new分支对应origin/new,只是名称上的改动,所有的提交历史还是和old一样。

git到底怎么合并,有冲突都要手动吗

冲突的产生

很多命令都可能出现冲突,但从根本上来讲,都是merge和 patch(应用补丁)时产生冲突。

而rebase就是重新设置基准,然后应用补丁的过程,所以也会冲突。

git pull会自动merge,repo sync会自动rebase,所以git pull和repo sync也会产生冲突。当然git rebase就更不用说了。

冲突的类型

逻辑冲突

git自动处理(合并/应用补丁)成功,但是逻辑上是有问题的。

比如另外一个人修改了文件名,但我还使用老的文件名,这种情况下自动处理是能成功的,但实际上是有问题的。

又函数返回值含义变化,但我还使用老的含义,这种情况自动处理成功,但可能隐藏着重大BUG。这种问题,主要通过自动化测试来保障。所以最好是能够写出比较完备的自动化测试用例。

这种冲突的解决,就是做一次BUG修正。不是真正解决git报告的冲突。

内容冲突

两个用户修改了同一个文件的同一块区域,git会报告内容冲突。我们常见的都是这种,后面的解决办法也主要针对这种冲突。

树冲突

文件名修改造成的冲突,称为树冲突。

a用户把文件改名为a.c,b用户把同一个文件改名为b.c,那么b将这两个commit合并时,会产生冲突。

$ git status

added by us: b.c

both deleted: origin-name.c

added by them: a.c

如果最终确定用b.c,那么解决办法如下:

git rm a.c

git rm origin-name.c

git add b.c

git commit

执行前面两个git rm时,会告警逗file-name: needs merge地,可以不必理会。

树冲突也可以用git mergetool来解决,但整个解决过程是在交互式问答中完成的,用d删除不要的文件,用c保留需要的文件。

最后执行git commit提交即可。

内容冲突的解决办法

发现冲突

一般来讲,出现冲突时都会有逗CONFLICT地字样:

$ git pull

Auto-merging test.txt

CONFLICT(content): Merge conflict in test.txt

Automatic merge failed; fix conflicts and then commit the result.

也有例外,repo sync的报错,可能并不是直接提示冲突,而是下面这样:

error: project mini/sample

注:无论是否存在冲突,只要本地修改不是基于服务器最新的,它都可能报告这个错误,解决方法都是一样。

这个时候,需要进入报错的项目(git库)目录,然后执行git rebase解决:

git rebase remote-branch-name

冲突解决的一般过程

merge/patch的冲突解决

先编辑冲突,然后git commit提交。

注:对于git来讲,编辑冲突跟平时的修改代码没什么差异。修改完成后,都是要把修改添加到缓存,然后commit。

rebase的冲突解决

rebase的冲突解决过程,就是解决每个应用补丁冲突的过程。

解决完一个补丁应用的冲突后,执行下面命令标记冲突已解决(也就是把修改内容加入缓存):

git add-u

注:-u表示把所有已track的文件的新的修改加入缓存,但不加入新的文件。

然后执行下面命令继续rebase:

git rebase--continue

有冲突继续解决,重复这这些步骤,直到rebase完成。

如果中间遇到某个补丁不需要应用,可以用下面命令忽略:

git rebase--skip

如果想回到rebase执行之前的状态,可以执行:

git rebase--abort

注:rebase之后,不需要执行commit,也不存在新的修改需要提交,都是git自动完成。

编辑冲突的方法

直接编辑冲突文件

冲突产生后,文件系统中冲突了的文件(这里是test.txt)里面的内容会显示为类似下面这样:

a123

<<<<<<< HEAD

b789

=======

b45678910

>>>>>>> 6853e5ff961e684d3a6c02d4d06183b5ff330dcc

c

其中:冲突标记<<<<<<<(7个<)与=======之间的内容是我的修改,=======与>>>>>>>之间的内容是别人的修改。

此时,还没有任何其它垃圾文件产生。

最简单的编辑冲突的办法,就是直接编辑冲突了的文件(test.txt),把冲突标记删掉,把冲突解决正确。

标签:

声明:

1、本文来源于互联网,所有内容仅代表作者本人的观点,与本网站立场无关,作者文责自负。

2、本网站部份内容来自互联网收集整理,对于不当转载或引用而引起的民事纷争、行政处理或其他损失,本网不承担责任。

3、如果有侵权内容、不妥之处,请第一时间联系我们删除,请联系

姓氏
生日
性别
大师起名

推荐文章

更多

最新文章

更多

热门文章

更多
  1. 凄字打一个生肖动物
  2. 净水机打一个生肖
  3. 净打一个数字生肖动物
  4. 净打一个数字生肖
  5. 净干坏事打一个生肖
  6. 净几明窗打一个生肖
  7. 冻水冻脚打一个生肖
  8. 冻打一个准确生肖动物
  9. 冷静一下打一个生肖
  10. 冷静一下 打一个生肖
  11. 人民打一个生肖是什么
  12. 人影打一个生肖是什么
  13. 亲代表什么打一个生肖
  14. 亭打一个生肖数字是多少
  15. 亦无什么意思打一个生肖
  16. 亚军打一个生肖是什么
  17. 五里云雾打一个什么生肖
  18. 五屠如何好打一个生肖
  19. 云雾茫茫打一个什么生肖
  20. 云野鹤打一个生肖是什么