可以在自己的项目里面学习这些git命令行
谨记:先拉后推!!!
有时候同一个分支,远程的和本地的都被修改的面目全非了,如果想要把本地的替换成远程的,用下面的命令
git fetch --all
git reset --hard origin/master (这里master要修改为对应的分支名)
git pull
注意:使用这个命令的时候本地未提交合并的代码会被清掉
- git checkout ./
废弃当前修改(仅适用于本地 未暂存 add 的文件修改)
- git push origin --delete originBranchName
删除远端分支并同步给远端
- git checkout --track originName/originBranchName
将根据指定远端仓库名originName下的具体某个分支名originBranchName创建一个本地跟踪分支,以后推拉代码操作都是从这个远端仓库下的远端分支来的。(这个命令等同于:git checkout -b branchName originName/originBranchName,同时,如果本地没有与这个远端分支相同的名字的本地分支的话,那这个命令也等同与直接:git checkout originBranchName)
- git push remoteName :refs/tags/tagName
将删除标签操作推送到远端
- git tag -d tagName
删除指定标签
- git push remoteName tagName/git push remoteName --tags
推送指定/所有tag到远端
- git tag tagName
给最近一个提交创建一个轻量标签,感觉两种方式好像差不多?
- git show tagName
显示标签的相关信息,打标签的人的名字,时间,注释信息,commitId,打标签的那次提交代码等
- git tag --list/git tag -l
展示标签列表
- git tag -a tagName -m “commit tag message” (提交记录的校验和)
给最近一个提交创建一个附注标签,一般是用于版本区分,如果是给一个历史提交记录打标签的话,只需在最后面加上目标提交记录的校验和,像e530213a 这样的。
- git remote remove 或 git remote rm :
从本地移除远端仓库
- git remote rename oldname newname
修改远端仓库名称
- git commit --amend
修补提交:修改最近一次提交(未推到远端的提交)的注释信息,如果是要修改或删除最近一次提交里面的文件,或要给最近一次提交添加一个文件的话,先做增删改操作并暂存后,再执行这一命令就可。最后只会有一次提交记录
- git reset --hard commitid
回退到指定id的那次提交去,这次提交后面的commit的代码都会被清除掉。所以慎用!!!!
- git log --stat
注意是stat,不是state,这个是查看简略的跟上次代码提交的代码删减对比情况的(还可以根据作者名称、提交时间、方法关键字查看日志,还可以修改查看的日志的简易程度,或者自定义查看日志的格式,具体查看
- git log --patch -2
查看最近的提交记录,包含时间,提交注释,分支,提交人,SHA-1校验和等信息,–patch 可以看到代码相对于上一次的改动,-2 限制查看最新的两条提交记录
- git checkout -b 取一个本地分支名,一般远程分支名相对应 origin/远程分支名
在本地创建一个分支跟远程分支名对应且代码一致
- git push origin HEAD:refs/for/本地分支名
提交代码
- git config --global user.name
查看全局的用户名
- git config --global user.email
查看全局的邮箱
- git config --global user.name "ppx"
设置全局的用户名
- git config --global user.email "lx1184@sina.com"
设置全局的邮箱
- git init
初始化当前项目到远程仓库中;需要先cd进入到当前项目路径
- git add build.gradle
添加单个build.gradle文件
- git add app
添加整个app文件夹以及app文件夹下面的东西
- git add .
添加项目下的所有文件
- git commit -m "first commit"
提交代码并注释
- git commit -a -m "提交信息"
用来跳过 add的提交方法,-a 直接给你add了,但是可能会add一些你不想add的文件,所以慎用
- git config --list --show-origin
查看当前所有git文件配置
- git config --list
命令来列出所有 Git 当时能找到的配置
- git --help
获取git命令的手册
- git init
将当前项目初始化成git项目
- git clone https://xxx
克隆项目
- git status
可以查看当前在哪个分支,是否有修改的文件,修改了的文件可以看到是红色的,以及是否被提交,可以看见有修改的文件有些是带了部分路径,很明显联想到因为很多个同名文件夹,所以需要指定路径,所以添加到暂存区的时候也要加上路径哟,要不然就会出现,匹配不到对应的文件
- git status -s
可以查看更简洁的文件修改状态
-
文件修改状态
- M README 修改了暂未添加到暂存区(注意这个M前面有个空格)
- MM Rakefile 添加到暂存区后又修改了的
- A lib/git.rb 新添加到暂存区的 文件
- M lib/simplegit.rb 修改了已暂存区
- ?? LICENSE.txt 新添加的未加入暂存区的文件
-
git add 文件名.后缀
将当前修改了的文件添加到暂存区,添加了之后在status查看状态发现是绿色的了
- git diff
查看尚未暂存的文件更新了哪些部分
- git diff --staged
查看已暂存文件与最后一次提交的文件差异
- git diff --cached
同 git diff --staged
- rm 文件名.后缀
删除文件,git status的时候会在未暂存区看见这个文件
- git log
查看提交信息
- git log id -1
加上这条log的id和-1,表示只看这条log信息
- git log id -1 -p
查看这条信息修改过的内容
- git rm --cached -r 目录名
主要是用于想要删除 添加在git之后的文件的追踪,或者夜可以使用下面这个命令哟
- git rm --cached 文件名
作用同上面一个命令作用 一样
- git branch
查看当前版本库中有哪些分支
- git branch version1.0
创建一个名为version1.0的分支(此时这个分支上的代码与主分支的代码一致)
- git checkout version1.0
切换到名为version1.0的分支上去
- git merge version1.0
当在version1.0分支上修改了代码且需要同步代码到主分支的时候就需要先切换到主分支再执行这个命令就可以在主分支上同步version1.0上的代码了
- git branch -d version1.0
删除名为version1.0的分支
- git push origin master
将本地代码推送到远程库的master分支
- git fetch origin master
将远程代码库的代码同步到本地,但是不会合并到任何分支,只是同步到本地的origin/master分支
- git diff origin master
查看远程库修改 了哪些代码
- git merge origin master
将从远程代码库中的同步到本地的origin/master分支的代码合并到主分支上
- git pull origin master
pull命令等于fetch+merge,就是将远程代码库的代码同步到本地并合并到分支上
- git clone -b 分支名 项目git路径
拉取指定分支代码
- 学会一个新技能,需求:想回退到某一次提交之前的版本运行看效果
1、先备份代码,防止错误操作导致代码丢失
2、右下角新建一个分支输入名字,并push到远端
3、checkout到新分支
4、在新分支上面就可以 点击想要回退的那一次提交,revert ocmmit,点击提交。成功后查看代码,这一次的提交就被会退啦。测试完后就可以checkout到正在开发的分支并删除这一测试分支即可。
- 又学会一个新技能,需求:取消刚刚提交的代码
1、 依旧是备份代码防止错误操作导致代码丢失!!!
2、在提交记录里面找到要取消的提交的前一次代码提交记录,右键点击 reset current branch to here… ,这样就撤回了刚刚的提交操作了,然后再手动git - rollback 吧。
- 又又又学到一个新技能,需求:直接将代码回退到指定的提交位置上去
1、依旧是备份代码
2、直接右键你想回退到哪一次提交上去,点击New Branch,输入新分支名字,就可以回退到这次提交的代码这里来了,主要是用于现在代码功能出问题了,想回退这个时候的代码看看这个时候有没有问题,用完删了就行