git日常操作

0.准备工作

0.1 git安装

http://git-scm.com/download/

图形客户端建议使用source tree,中文界面

http://www.sourcetreeapp.com/

0.3 git帮助信息

git help

git help 指令名称

0.4 git配置

显示配置信息

git config -l --global

修改基本配置

git config --global user.name “姓名”
git config --global user.email “邮箱”

git config --global color.ui auto

git
config --global core.autocrlf input

git config --global push.default simple

0.5 git日志

显示所有或某个文件的修改记录

git log <可选的文件名>

显示所有或某个文件的修改记录的概要(修改文件列别行数等)

git log --stat

显示某次提交中所有或某个文件的具体修改内容

git show <提交ID> <可选的文件名>

0.6 git操作记录(用于无限悔棋)

操作记录显示

git reflog show

$ git reflog show

1ab8fe7 [email protected]{0}: reset: moving to HEAD^

f902b09 [email protected]{1}: reset: moving to [email protected]{3}

1ab8fe7 [email protected]{2}: reset: moving to HEAD^

f902b09 [email protected]{3}: reset: moving to [email protected]{1}

1ab8fe7 [email protected]{4}: reset: moving to HEAD^

f902b09 [email protected]{5}: commit: test

1ab8fe7 [email protected]{6}: reset: moving to HEAD^

815cee5 [email protected]{7}: commit: test

1ab8fe7 [email protected]{8}: commit: added missed cacheLib.h

a724beb [email protected]{9}: pull: Merge made by the ‘recursive‘ strategy.

回退到某次操作后的状态

git reset [email protected]{序号}

注意:没有提交到仓库中的代码无法恢复。

0.7 git仓库构成

查看本地仓库状态

git status

$ git status

On branch dev                                                  =》 本地仓库当前branch名称

Your branch is up-to-date with ‘origin/dev‘.    =》 本地仓库当前branch与远程仓库对应branch之间的差异

 

Changes to be committed:                               =》暂存区内容

  (use "git reset HEAD <file>..." to unstage)

 

        modified:   Makefile

 

Changes not staged for commit:                       =》工作区内容 (对仓库中文件的修改)

  (use "git add <file>..." to update what will be committed)

  (use "git checkout -- <file>..." to discard changes in working directory)

 

        modified:   Makefile

 

Untracked files:                                                    =》工作区内容 (对私有文件的修改)                

  (use "git add <file>..." to include in what will be committed)

 

        build_native/

显示临时缓冲区内容

git stash list

$ git stash list

[email protected]{0}: On dev: clean 2

[email protected]{1}: On dev: clean

 

1.从远程仓库到本地仓库

创建新的本地仓库

git clone [email protected]:os.git <可选的本地仓库目录名称>

从远程仓库获取最新内容并合并到当前分支

git pull

从远程仓库获取最新内容但是不合并

git fetch

2.从本地仓库到远程仓库

本地仓库更新到远程仓库

git push

3.从本地仓库已有分支到私有分支

切换到已有分支

git checkout  <分支名称>

从当前分支创建一个新分支并切换到新分支

git checkout -b <新分支名称>

从某个提交创建一个新分支并切换到新分支(用于查看内容或者查找问题)

git checkout <提交ID> -b <新分支名称>

查看branch信息

git branch -v

删除某个branch

git branch -D <分支名称>

3.从私有分支到本地仓库已有分支

合并其他分支到当前分支

git merge  <其他分支名称>

如果有冲突,文件中会有如下内容:

<<<<<<< 

当前分支

=======

合并进来的分支

>>>>>>> 

解决冲突后,根据merge命令的提示将文件放入暂存区(stage区),然后提交

终止当前合并操作

git merge --abort

合并某个提交到当前分支

git cherry-pick <提交ID>

5.从工作区到暂存区

将工作区中的所有或某个文件放到暂存区(stage区)

git add <可选的文件或者目录名>

将工作区所有对仓库中代码的修改(tracked文件)放到暂存区(stage区)

git add -u

查看暂存区中对仓库中所有或某个文件的修改

git diff --cached <可选的文件或者目录名>

查看工作区中对仓库中所有或某个文件的修改

git diff <可选的文件或者目录名>

6.从暂存区到工作区

将暂存区中对仓库中所有或某个文件的修改恢复到工作区

git reset HEAD <文件或者目录名>

7.从暂存区到本地仓库

将暂存区中的内容提交到本地仓库(简单注释)

git commit -m "注释信息"

将暂存区中的内容提交到本地仓库(复杂注释,将会进入文本编辑界面)

git commit

修改上次提交的注释信息

git commit --amend  -m "注释信息"

8.从本地仓库到暂存区

恢复到某次提交前的状态(修改内容仍然在工作区)

git reset <提交ID^>

注意:本操作实质上是复位到某次提交的前一次提交,并用其内容覆盖暂存区的内容,但当前修改内容仍然在工作区

9.从本地仓库到工作区

取消对某个文件或者文件夹的修改

git checkout <文件或者目录名>

注意:本操作实质上是用本地仓库中的数据覆盖工作区中的内容

恢复到某次提交前的状态(工作区修改内容被丢弃)

git reset <提交ID^>

注意:

1.本操作实质上是复位到某次提交的前一次提交,并用其内容覆盖暂存区和工作区的内容

2.如果工作区无修改内容,或者修改内容已保存到临时缓冲区,可以使用该命令查看某次提交的内容或者查找问题,查看完毕后通过reflog恢复。

10.从工作区到本地仓库

直接将文件提交到本地仓库(!!不经过暂存区,慎用)

git commit -a -m "注释信息"

11.从工作区到临时缓冲区

将工作区中所有对仓库中代码的修改(tracked文件)放到临时缓冲区(stash区)

git stash save "缓冲区描述"

12.从临时缓冲区到工作区

将临时缓冲区(stash区)中所有对仓库中代码的修改(tracked文件)弹出到工作区

git stash pop [email protected]{序号}

显示临时缓冲区某个缓存的内容

git stash show [email protected]{序号}

显示临时缓冲区某个缓存的内容

git stash show [email protected]{序号}

来自为知笔记(Wiz)

时间: 2024-10-11 04:43:49

git日常操作的相关文章

git日常操作总结

<<<<<<< HEAD 1.撤销commit:git reset --soft HEAD^ --mixed 不删除工作空间改动代码,撤销commit,并且撤销git add . 操作 --soft 不删除工作空间改动代码,撤销commit,不撤销git add . --hard 删除工作空间改动代码,撤销commit,撤销git add . 2.回退操作revert 获取提交的ssh code, git revert : git revert 41f1cc2a4

Git日常操作指令

1. 将本地项目上传到码云: ①. 码云上创建一个项目 ②. 本地文件项目内右键git bash进入git控制台 ③. git init 命令   -- 会在本地创建一个.git文件夹 ④. git remote add origin http://(码云地址) ⑤. git pull origin master/git pull    -- 将码云上的仓库pull到本地文件夹 ⑥. git add .   -- 将文件保存到缓存区 ⑦. git commit -m '操作描述/文件描述' ⑧.

IDEA GIT日常操作

文件操作简介 1.文件添加 添加文件很简单,需要注意的就是弹出的提示框,是否需要添加暂存区 2.提交文件 提交文件你即可以在项目视图中进行提交,也可以到版本控制视图中进行提交 点击提交按钮会弹出对话框,需要注意的是,提交的文件.提交的注释及其修改的地方,这个三大部分 当你继续点击"提交按钮"的时候,会弹出提交排除提示框,里面罗列的排除的文件,如图: 提交反悔,如果我认为上次提交的地方还需要在调整,想放到一次提交中,需要注意的是merge的提交时不能撤回,: 撤回后 (这个操作最好是还没

git的日常操作

1) 安装Git 2) 配置用户信息 git config --global user.name "username" git config --global user.email "email" git config --global color.ui true 3) 生成公钥对 ssh-keygen –t rsa 在用户的主目录下的.ssh/中,把id_rsa.pub变为username.pub发给管理员 4) clone远程的仓库 git clone [ema

Git大法好——2.Git本地操作指令详解

Git大法好--2.Git本地操作指令详解 引言 上节给大家讲解了有关于Git的一些概念,Git的引入,Git的四个组成部分,Git文件的状态,以及 Git的下载安装:前面也讲过Git和SVN有个明显的差别就是,Git可以不需要网络就可以进行版本 控制,这是因为Git中每个电脑都拥有一个本地的版本库,而远程的仓库仅仅是作为我们交换修改 的一个工具!即使失去这个工具,我们也可以干活,只是交换修改不方便罢了,假如是SVN,远程 服务器挂了-所以,我们使用Git的时候大部分时间都是在进行Git的一些本

git 日常工作提交

1.可以将一些目录排除在外,不接受管理 编译时生成的中间文件目录,写到同一目录下的 .gitignore 文件中,然后再对 $work 生成快照即可 $ cd $work$ echo "zh" >.gitignore$ git add   2.仓库与工作树 只是在你认为一个工作阶段完成之时,要刻通知git,命令它记下你所进行更新,这一步骤是通过生成文档快照并将基加入到索引中来实现的. 譬如今天,我向 $work 目录添加了一份新文档 ch1.tex ,我需要通知 git 记住我的

Jenkins迁移及日常操作的一点总结

之前在公司机房部署了一套jenkins环境,现需要迁移至IDC机房服务器上,迁移过程中记录了一些细节:1)jenkins默认的主目录放在当前用户家目录路径下的.jenkins目录中.如jenkins使用root用户启动,则主目录为/root/.jenkins [[email protected] ~]# ll -d /root/.jenkins/ drwxr-x--- 14 root root 4096 Dec 18 15:22 /root/.jenkins/ 2)可以在系统环境变量里手动设置j

Git远程操作详解

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能. Git有很多优势,其中之一就是远程操作非常简便.本文详细介绍5个Git命令,它们的概念和用法,理解了这些内容,你就会完全掌握Git远程操作. git clone git remote git fetch git pull git push 本文针对初级用户,从最简单的讲起,但是需要读者对Git的基本用法有所了解.同时,本文覆盖了上面5个命令的几乎所有的常用用法,所以对于熟练用户也有参考价值. 一.git clone 远程操作

git 入门操作指令

git add [commit file list] 将已经修改的代码添加索引 git commit -m [commit message] 将已经索引的代码修改提交至本地的库 git push origin [branch_name] 将分支 branch_name 的代码推送至服务器 git pull origin [branch_name] 获取分支 branch_name上的最新代码 git pull --rebase origin [branch_name] 将当前 branch 从