2018-11-18 常用的Git命令技巧

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 # 将branch分支合并到当前分支

git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交

git rebase master # 将master rebase到branch,相当于: git co && git rebase master && git co master && git merge

//将branch分支合并到master

git pull

git pull # 抓取远程仓库所有分支更新并合并到本地

git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并

git pull origin #更新branch 分支并合并到本地

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 # 创建远程分支, origin是远程仓库名

git push origin : # 创建远程分支

git push origin : #先删除本地分支(git br -d ),然后再push删除远程分支

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

你可能感兴趣的:(2018-11-18 常用的Git命令技巧)