Git 实用命令套路
=========================git首次提交项目命令==================
1、码云上新建一个项目 XXXX (项目名)
2、本地创建一个文件夹E:/XXXX,然后使用git bash
3、cd 到本地文件夹中E:/XXXX //如果是在创建的文件中git bash 则此步骤可省略
4、使用 git init 命令 //初始化一个git 本地仓库此时会在本地创建一个 .git 的文件夹
5、使用git remote add origin https://gitee.com/你的码云用户名/XXXX //添加远程仓库
6、使用 git pull origin master 命令,将码云上的仓库pull到本地文件夹
7、将要上传的文件,添加到刚刚创建的文件夹
8、使用git add . (. 表示所有的)或者 git add + 文件名 // 将文件保存到缓存区
9、使用git commit -m '新添加的文件内容描述' //添加文件描述
10、使用git push origin master ,将本地仓库推送到远程仓库
=========================git ignore修改不起作用================
使用git时候修改了.gitignore,发现不起作用,是因为git存在缓存问题,解决如下:
git rm -r --cached .
git add .
git commit -m "update gitignore"
转至元数据起始
/*************本地代码更新提交********************/
git status //查看修改文件
git diff //查看所有修改文件详情
git add . //将所有修改过的工作文件提交暂存区
git commit -m "注释" //提交更改并添加注释 注意:注释格式 "FQ-XX: COMMEN"
//git push origin [本地分支名]:[远程分支名]//本地分支是指当前开发分支,远程分支如果没有会创建一个新的,有则更新 。注意:远程分支名: dbg_xxx_xxx eg:dbg_liuyaokai_FQ451
git fetch --all 更新所有提交代碼
git rebase origin/master 合并最新代码
if(冲突){
解决冲突,合并代码
git add .
git rebase --continue
}
git push origin master:master 推送本地分支master 到远端 master
git push origin master:release
/*************ci_int 本地更改推到测试环境进行测试********************/
gitk --all //打开面板,获取更新编号 SHA1 ID eg:a64b7cbb6832923031cd4a38570b89b32
git fetch --all //更新所有代码
git checkout -b dbg_ci_int //切换到ci_int分支
git rebase origin dbg_ci_int //拉取ci_int分支下的所有更新
git cherry-pick a64b7cbb6832923031cd4a38570b89b32//拉取更新内容到ci分支,字符串为该条更新编号
if(冲突){
解决冲突;(gitk --continue 帮助查看冲突文件)
git add .;//解决完的冲突文件提交
gitk --continue ;//更新分支
}
gitk --all //查看更新是否拉取成功
git push origin dbg_ci_int:dbg_ci_int / /推送到远程dbg_ci_int
=============git修改历史提交===================
git修改历史提交
git commit --amend 进入最后一次提交信息的更改
git使用amend选项提供了最后一次commit的反悔。但是对于历史提交呢,就必须使用rebase了。
git rebase -i HEAD~3
表示要修改当前版本的倒数第三次状态。
这个命令出来之后,会出来三行东东:
pick:*******
pick:*******
pick:*******
如果你要修改哪个,就把那行的pick改成edit,然后退出。
这时通过git log你可以发现,git的最后一次提交已经变成你选的那个了,这时再使用:
git commit --amend
来对commit进行修改。
修改完了之后,要回来对不对?
使用git rebase --continue
OK,一切都搞定了。
==============git 压缩多次更新节点为一个节点====================
git rebase -i HEAD~3(有几个支点写几)
表示要修改当前版本的倒数第三次状态。
这个命令出来之后,会出来三行东东:
pick:*******
pick:*******
pick:*******
修改 下面两个 pick 为 s
:wq(保存退出)
修改注释
:wq
ok
==================================================
git revert
git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象
git revert HEAD # 恢复最后一次提交的状态 //把最后一次更新回滚到暂存区
git reset
git reset
git reset -- . # 从暂存区恢复到工作文件
git reset --hard #恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改 //把最后一次更新 从暂存区恢复到工作文件
git rebase
git merge
git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交
git rebase master
//将branch分支合并到master
git pull
git pull # 抓取远程仓库所有分支更新并合并到本地
git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并
git pull origin
git fetch
git fetch origin master # 抓取远程仓库更新 git fetch:相当于是从远程获取最新版本到本地,不会自动merge
git fetch origin master
git log -p master..origin/master
git merge origin/master
首先从远程的origin的master主分支下载最新的版本到origin/master分支上
然后比较本地的master分支和origin/master分支的差别
最后进行合并
上述过程其实可以用以下更清晰的方式来进行:
git fetch origin master:tmp //tmp 分支名
git diff tmp //比较tmp分支与本地差异详细
git merge tmp //合并分支到本地
git checkout
git push
git push # push所有分支
git push origin master # 将本地主分支推到远程主分支
git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)
git push origin
git push origin
git push origin :
git log
git log //查看所有修改记录 ,包含 记录编号
git log -p <修改编号> //查看该编号修改的详细内容
git log -p -2 //查看最近两次修改的详细内容
合并其他分支到master
1、切换到master
git checkout master
2、需要把远程master上的代码pull下来
git pull origin master
3、将分支代码合并到master
git merge dev
4、查看状态
git status
5、提交master
git push origin master
==================config配置================
git config -l // 查看所有配置
git config --global user.name 你的目标用户名; // 修改全局用户名
git config --global user.email 你的目标邮箱名; // 修改全局邮箱
==================分支管理====================
git branch dev // 新建分支 新建dev新分支
git branch // 查看分支 * 标记的代表当前分支
git checkout dev // 切换当前分支 输出Switched to branch'dev'表示切换成功
提交改动到当前分支:1.git add . 2.git commit -a
git branch -D dev // 删除分支
===================冲突解决===================
git diff // 查看冲突
修改之后,再次提交即可;
接下来,就可以push代码了:
git push -u origin master
===================删除本地和远程分支===================
git命令行删除本地和远程分支:
cd
git branch -a -- 查看项目的分支(包括远程和本地)
git branch -d
git push origin --delete
git branch -a -- 查看删除后的分支(包括远程和本地)
===================提交及merge到其他分支===================
git branch 查看当前分支
-----------------刚开发完项目,执行了下列命令
git add .
git commit -m 'dev'
git push -u origin dev
-----------------把dev分支的代码合并到master分支上,首先切换到master分支上
git checkout master
-----------------如果是多人开发的话 需要把远程master上的代码pull下来
git pull origin master
-----------------如果是自己一个开发就没有必要了,为了保险期间还是pull
-----------------然后我们把dev分支的代码合并到master上
git merge dev
-----------------然后查看状态
git status
-----------------On branch master
-----------------Your branch is ahead of 'origin/master' by 12 commits.
----------------- (use "git push" to publish your local commits)
-----------------nothing to commit, working tree clean
-----------------上面的意思就是你有12个commit,需要push到远程master上
-----------------执行下面命令即可
git push origin master
===================git拉取远程dev分支===================
1》与远程仓库建立连接:git remote add origin XXXXX.git
2》使用git branch 查看本地是否具有dev分支
3》如果没有 git fetch origin dev
4》git checkout -b dev origin/dev在本地创建分支dev并切换到该分支
5》git pull origin dev就可以把gitLab上dev分支上的内容都拉取到本地了
===================git误删文件===================
误删文件恢复
===================git版本回退===================
【git】Git回退代码到指定版本
1. 查看所有的历史版本,获取你git的某个历史版本的id, git log
2. 回退本地代码库:git reset --hard ID
3. 推送到远程服务器:git push -f -u origin master
4. 重新拉代码:git pull
===================git分支误删找回===================
https://blog.csdn.net/fdipzone/article/details/50616386