git点滴

这些变量可以存放在以下三个不同的地方:

  • /etc/gitconfig 文件:系统中对所有用户都普遍适用的配置。若使用 git config 时用 --system 选项,读写的就是这个文件。
  • ~/.gitconfig 文件:用户目录下的配置文件只适用于该用户。若使用 git config 时用 --global 选项,读写的就是这个文件。
  • 当前项目的 Git 目录中的配置文件(也就是工作目录中的 .git/config 文件):这里的配置仅仅针对当前项目有效。每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。
  • 在 Windows 系统上,Git 会找寻用户主目录下的 .gitconfig 文件。主目录即 $HOME 变量指定的目录,一般都是 C:\Documents and Settings\$USER。此外,Git 还会尝试找寻 /etc/gitconfig 文件,只不过看当初 Git 装在什么目录,就以此作为根目录来定位。

git config --global user.name "John Doe"

git config --global user.password "John Doe"

git config --global user.email [email protected]

要检查已有的配置信息,可以使用 git config --list

第一个需要配置的就是用户的用户名和email,因为这些内容会出现在你的每一个提交(commit)里面的,像下面这样:

$ git log #我们用git log查看当前仓库的提交(commit)日志
commit 71948005382ff8e02dd8d5e8d2b4834428eece24
Author: author <[email protected]>
Date: Thu Jan 20 12:58:05 2011 +0800
Project init

git配置全局用户名和密码

永久记住密码  git config --global credential.helper store

会在用户主目录的.gitconfig文件中生成下面的配置。

[credential]

helper = store

如果没有--global,则在当前项目下的.git/config文件中添加。

如果大家对于Git熟悉后,可以直修改”~/.gitconfig”,”.git/config”这两个文件进行配置。

 

git查看本地具体文件改动的明细   git diff fileName

git clone 指定 目录

git clone https://github.com/plasticboy/vim-markdown.git ~/Downloads/vim-markdown

使用git克隆指定分支的代码

git clone -b 分支名 https://git.oschina.net/oschina/android-app.git

git撤销commit,但未git push的命令

在git push的时候,有时候我们会想办法撤销git commit的内容 
1、找到之前提交的git commit的id 
git log 
找到想要撤销的id 
2、git reset –hard id 
完成撤销,同时将代码恢复到前一commit_id 对应的版本 
3、git reset id 
完成Commit命令的撤销,但是不对代码修改进行撤销,可以直接通过git commit 重新提交对本地代码的修改

远程分支之间如何合并

如图中所示(图上的分支都是远程仓库中的),黄色的分支是dev分支,从dev版本迭代过程中,单元测试没有问题了,此时会把代码合并到release,交由测试部门进行测试,测试通过之后,合并到master分支上面,我画的第一幅图简化了这个过程,那么现在问题出来了。

      介绍了大致的工作流程之后,如何将远程的dev合并到远程的master上去呢?

      首先,远程分支的合并工作是必须由git管理员来操作的。

      其次,如何操作?  

 现在要把远程的dev合并到远程master上面,思路如下:

       1.clone项目到本地,此时默认会把master分支clone一份到本地。

       2.本地分支上新建一个dev分支,名字和远程的dev一样,复制一份远程dev上面的代码,切换到本地master,合并本地dev。

       3.解决合并过程中的冲突,之后Push到远程master,效果就是远程的dev合并到了远程的master上面。

1、git clone   master分支

 2.把远程dev“复制”到本地

git checkout -b dev origin/dev

 3.master合并dev分支

git merge dev

4. push到远程仓库

git add -A和 git add .   git add -u在功能上看似很相近,但还是存在一点差别

git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)

git add -A :是上面两个功能的合集(git add --all的缩写)

猜你喜欢

转载自blog.csdn.net/f110300641/article/details/81699011