Git 总结

Git总结,最后面会附上一张图,安装图上的内容进行操作。在网上查询了Git命令后总结的。

Git本地

初始化

把当前文件夹初始化为Git 仓库,当开启隐藏文件后,会有一个.git的隐藏文件夹

git init

设置用户名:加global是全局的意思

git config  user.name "wanghao"
git config --global user.name "wanghao"

设置用户邮箱:加global是全局的意思

git config  user.email "ssrs_wanghao@139.com"
git config --global user.email "ssrs_wanghao@139.com"

设置全局你的编辑器(Your Editor):

git config --global core.editor "emacs "

查看自己的设置:

git config --list 

解决bash 控制台ls 命令中文乱码

解决bash 控制台git commit无法输入中文注释

解决git log 命令中文注释乱码(只bash 控制台好用)

解决 gitk 显示中文注释乱码

 设置仓库需要忽略的文件,在项目根目录下创建一个名为.gitignore的文件

在命令行执行 echo >.gitignore
git base下的命令如下:touch .gitignore

文件的格式如下:

#此行为注释,不会起作用
filename.txt        #忽略项目下所有名为filename.txt的文件
*.html              #忽略项目下所有名为html结尾的文件
!except.html        #取消对except.html的忽略
all                 #忽略所有的all名的文件夹
all/                #忽略所有的all下的文件夹,包括子目录
/all                #忽略当前文件夹下的all文件夹,不包括子目录

 设置本地提交需要忽略的文件,修改.git/info/exclude 文件

例如:*.[oa]等价于*.o和*.a 即:可使用正则

例图:

 添加文件到版本库,或者添加文件到‘暂存区’,下面例子用到add 与status 命令。

注:下面命令都是克隆远程仓库进行操作的。克隆命令为:

git clone url
git add file           添加单个文件
git add *.txt           添加以.txt结尾的文件
git add .               添加所有文件
git status             查看git仓库状态,当前仓库
git rm --cached file1   撤销添加到暂存区的file1文件

 

提交所有修改,提交单个文件,下面例子用到的命令有:

git add *                                              添加所有修改到暂存区或者版本库

git commit -m"提交单个文件file1" file1                   提交单个文件,-m后面的为注释

git commit -m "提交一群文件file 2-5" -a                  提交暂存区所有文件, -a

 提交修改文件,增量提交文件,还原文件。下面用到的命令有:

git log                               #查看提交历史
git add *                             #添加所有修改到暂存区
git commit -m "提交file2" file2        #提交单个文件
git commit -m "增补提交"  -a --amend   #增补提交并提交全部暂存区文件
git show  id                          #显示提交详情
git reset id                          #完成Commit命令的撤销,但是不对代码修改进行撤销,不会影响本地代码
git reset --hard id                   #把仓库还原跟服务器id版本一样的状态,会影响本地文件或者代码,视频最后没有执行完,

git分支管理

下面用到的命令有:

git branch                      #查看本地分支
git branch dev           #新建本地分支
git branch -a            #查看本地及远程分支
git checkout dev          #拉取并进去dev分支
git status             #查看分支状态
git push origin dev         #推送dev分支的改变
git branch -m dev develop       #重新命名dev分支为develop分支
git push -d origin dev "删除分支并推送,慎用,或者拆开使用"      #删除远程分支
git branch -d dev          #删除本地分支

Git分支合并及提交

可以查看我另一篇文章——点击进入 Bug分支并合代码


基础的暂时到这里算是结束了。下面贴一张图片,有什么不清楚的,可以一起讨论。

图片如果不清楚的话,可以另存到本地查看。导出的时候已经是最大导出了。


 

Git 远程操作部分总结

朋友吐槽说总结的太少,太没用了。应朋友要求,对于远程的操作。进行部分总结。

注:远程操作不按图片来,随意扔几个常用的总结。

其实Git感觉Merge的时候解决冲突挺麻烦的也是难点。一般都用第三方可视化工具。所以远程操作Git我就直接用IDEA与命令行结合操作了。

 首先我克隆下来一个文件夹,并新建项目:

git clone url

项目结构如图所示:分为java与Python的简单练习项目。

 如下图所示,我创建了三个分支:

然后我进行修改dev文件并提交:如下图所示,很容易看出来,我修改了两个文件,和修改的内容。然后我去rc再进行这两个文件的修改。

切入Rc分支,进行文件的修改。

然后修改文件并提交:查看Log可以很容易看出来,我修改了和dev一样的两个文件。并且内容不一样。

下面进行Merge操作:从rcMerge到dev,因为我修改了相同的文件,所以肯定会出现冲突。这时候就要修改冲突了。

下面Merge的时候我使用IDEA进行Merge。

因为我是从rcMerge到dev 的,所以我先切入dev进行代码更新。

然后选择IDEA的Merge窗口:选择远程rc,

点击Merge,然后出现下面窗口,提示有冲突:

点右边的窗口下面Merge进行冲突解决。

 

 可以选择右下角的,Accept Left 或者Accept Right,都理解意思。也可以直接点击Apply选择结果版本。也可以点击→拷贝左边版本,或者拷贝右边版本。

 

我这边就直接修改结果版本了。因为我不想我的Hello Word有什么数字。如图所示我把结果版本改为我想要的,然后点击Apply

然后用同样的方法进行下一个文件的冲突解决。同样进行结果的修改。

然后点击Apply,

然后在进行commit:

Push

上面就是简单的Merge与解决冲突。

 工具也是仁者见仁智者见智。我这里使用的IDEA多一点,或者用SourceTree。以后补一个SourceTree的Merge与冲突解决。暂时总结Git基础就到这里了。

 

Git的fork功能

翻车了。码云与Gitlib居然出来不一样结果。
Gitlib的操作方式:

1、git remote -v 查看远程仓库
2、设置上游仓库
      git remote add upstream url
3、git checkout master
4、从上游仓库下载代码:git fetch upstream
5、合并代码 git merge upstream/master
6、提交代码 git push origin master

首先克隆自己的项目到本地:

git clone url

 查看远程分支:

git remote -v

设置上游仓库

git remote add upstream url

checkout远程master最新代码

git checkout master

从上游仓库下载代码

git fetch upstream

 合并代码

git merge upstream/master

码云然后出异常,用下面命令解决了。

 

好吧我用这个命令OK了。

git pull upstream master --allow-unrelated-histories

然后push上远程

git push

 

 

Git 图片总结

 https://blog.csdn.net/ccfxue/article/details/52625806

posted @ 2018-06-24 12:39  苦心明  阅读(147)  评论(0)    收藏  举报