git杂记

xiaoxiao2021-02-28  90

说明:本文只是记录了部分重点操作,强烈建议开源在线的:《Pro Git中文版》

通过git命令下载指定分支代码

git clone -b 分支名 仓库地址 例如:git clone -b v2.8.1 https://git.oschina.net/oschina/android-app.git

git 代码提交

代码提交一般有五个步骤: 1.查看目前代码的修改状态 2.查看代码修改内容 3.暂存需要提交的文件 4.提交已暂存的文件 5.同步到服务器

1)、查看目前代码的修改状态 git status 2)、查看代码修改内容 git diff 3)、暂存需要提交的文件,这一块比较重要 如果是新建的文件 则git add

如果是修改的文件 则git add

如果是删除的文件 则 git rm 显然,使用git add当文件比较多的时候,这样一个一个操作是很麻烦的,这时可以用以下几个命令: git add -u [ ]: 把 中所有tracked文件中被修改过或已删除文件的信息添加到索引库。它不会处理untracted的文件。 省略 表示.,即当前目录。 git add -A: [ ]表示把 中所有tracked文件中被修改过或已删除文件和所有untracted的文件信息添加到索引库。 省略 表示.,即当前目录。 git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

注意:这几个命令都是相对于当前目录的,所以如果在要目录下操作,就是针对所有文件,最好是切换到工作子目录,就不会把那些无关紧要的文件添加进去。

4)、提交已经暂存的文件 git commit -m ‘message’ 5)、同步到服务器 同步到服务器前先需要将服务器代码同步到本地 命令: git pull 如果执行失败,就按照提示还原有冲突的文件,然后再次尝试同步。 命令:git checkout – <有冲突的文件路径> 同步到服务器 命令: git push origin <本地分支名> 如果执行失败,一般是没有将服务器代码同步到本地导致的,先执行上面的git pull命令。

git代码合并到主分支

1、先切换到主分支 git checkout master。 2、别人可能修改了代码,所以先拉下来 git pull。 3、merge之前 开发的 git merge --squash boxiao.wpl,squash意思是开发分支里面commit很多次,我们直接把代码合过来,message信息不要。(注意–squash 前面是两个连续的-) 4、提交 git commit -a -m ‘your message’。 5、上传 git push。

删除不需要提交的文件

如果已经提交过,使用$ git rm --cached .idea/workspace.xml 其中workspace.xml是你的文件。然后再使用git commit 和git push就以从本地仓库和远程仓库删除文件了。 git rm --cached 和git rm 的区别是git rm 连本地文件也删除了而git rm --cached只删除git的跟踪。

删除分支

1、删除本地分支 删除本地分支前需要先切换到其他分支 git branch -d XX,如果本地有代码没提交,会提示:he branch XXX is not fully merged。解决方法:使用大写的D 强制删除 git branch -D XXX 2、删除远程分支 删除本地分支后,再使用 git push origin :XXXX

打印git diff文件

1、打印出git log 2、找出需要对比的两个版本号 3、git diff -U5000 versionid1 versionid2 > file.diff -U5000表示打印上下文

如果两个版本间的文件差别太大,可以指定文件或者文件夹来打印diff, 比如 git diff versionid1 versionid2 ./folder1/ ./folder2 > file.diff

###git远程删除分支后,本地git branch -a 依然能看到的解决办法。 git remote prune origin 参考:http://blog.csdn.net/qq_16885135/article/details/52777871

合并多个 Commit

参考: 1、https://www.cnblogs.com/tocy/p/git-rebase-merge-commit.html 2、http://blog.csdn.net/yangcs2009/article/details/47166361 参考1中是标准步骤,如果有冲突,可以使用参考2中的git rebase --continue

总结起来就是: 1、git rebase -i HEAD~3 这个3代表你要合并的commit数量 2、弹出一个编辑框后,将需要merge的那几条信息前面的pick改为s 或者squash 3、在第二次弹出的框里面将提交的message合并一下。 4、git push -f 推到远程分支。

创建本地分支并上传到远程仓库

1,从已有的分支创建新的分支(如从master分支),创建一个dev分支 git checkout -b dev 2,创建完可以查看一下,分支已经切换到dev git branch * dev master 3,提交该分支到远程仓库 git push origin dev

git branch -D 误删除后,怎条恢复

git reflog show --date=iso 获取所有的提交记录,按方向键向下一直找到,找到你需要找回的那个提交的commitID git branch recover_branch[新分支名] commit_id 就在新分支上有对应的代码了

修改已经提交的message

https://blog.csdn.net/zwx622/article/details/42239649

回退命令

回退到上个版本 git reset --hard HEAD^ 回退到前2次提交之前,以此类推,回退到n次提交之前 git reset --hard HEAD~2 退到/进到 指定commit的sha码 git reset --hard commit_id

2、强推到远程: git push origin HEAD --force

作者:Only_io 链接:https://www.jianshu.com/p/49d816d17647 来源:简书 简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

转载请注明原文地址: https://www.6miu.com/read-75444.html

最新回复(0)