推广 热搜: 韩版  还可  格式  氢气  制作工艺  避暑山庄  收购ACF  求购ACF  回收ACF  液压阀 

git的使用的简单介绍

   日期:2023-04-16     浏览:41    评论:0    
核心提示:Git基本操作 安装完 Git 软件后,需要我们做一下全局的配置工作,如:用户名、邮箱等。 命令:git config 设置用户名命令: 设置邮箱命令: 其中, --g

Git基本操作

安装完 Git 软件后,需要我们做一下全局的配置工作,如:用户名、邮箱等。

命令:git config

设置用户名命令:

设置邮箱命令:

其中, --global 指定为全局配置,不指定该参数,则为当前所在仓库配置。

查看配置:

在本地创建版本库,需要使用 git init 命令。

首先,我们需要新建一个存放版本库的文件夹,然后进入到该目录所在路径,执行如下命令,格式为:

最后查看文件夹,可以看到包含有 .git 子文件夹,说明创建版本库成功了。

也可以在执行 git init 命令时指定一个文件夹作为版本库。格式为:

克隆版本库是指从现有 Git 版本库中拷贝项目。

克隆版本库使用如下命令,格式为:

如果我们需要克隆到指定的目录,可以使用以下命令格式:

如:克隆远程仓库

添加一个或多个文件到暂存区:

添加指定目录到暂存区,包括子目录:

添加当前目录下的所有文件到暂存区:

查看在我们上次提交之后是否有对文件进行再次修改。 格式为:

-s参数可以帮助我们获得比较简短的显示结果。

如:我们在一个版本库中所在目录中增加一个 Unit1.pas 文件,然后执行如下命令:

显示暂存区和工作区的差异:

显示暂存区和上一次提交(commit)的差异:

显示两次提交之间的差异:

将暂存区内容添加到本地仓库中。

提交暂存区到本地版本库中:

message 可以用于描述提交的信息。

提交暂存区的指定文件到版本库区:

修改后直接提交:

-a参数设置修改文件后不需要执行 git add 命令,直接来提交。

如:我们在上面的命令基础上进行提交

接下来,我们对 Unit1.pas 文件进行修改,然后进行文件比较:

git reset 命令用于回退版本,可以指定退回某一次提交的版本。

git reset 命令语法格式如下:

可以使用 数字表示

git rm 命令用于删除文件。

如果只是简单地从工作目录中手工删除文件,运行 git status 时就会在 Changes not staged for commit 的提示。所以,在 git 环境下一定要使用 git 的删除文件操作。

git rm 删除文件有以下几种形式:

将文件从暂存区和工作区中删除:

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f 。

如果想把文件从暂存区域移除,但仍然希望保留在当前工作目录中,换句话说,仅是从跟踪清单中删除,使用 --cached 选项即可:

可以递归删除,即如果后面跟的是一个目录做为参数,则会递归删除整个目录中的所有子目录和文件:

git mv 命令用于移动或重命名一个文件、目录或软连接。

如果新文件名已经存在,但还是要重命名它,可以使用 -f 参数:

git 的简单使用

之前用svn的,但是愕然发现好多公司都开始用git ,一开始不知道为什么,想想那么多公司用它,肯定有它的优点啥,带着好奇的心态,慢慢开始去研究它,由于我们公司,就我一个iOS,所以暂时好多git的好多优点都是持续发掘的,本文也会持续更新中····

我们用的都是Mac,所以可以直接通过homebrew安装Git,具体方法请参考homebrew的文档:

然后再检查

然后,设置你的个人信息

注意'git config'命令的'--global'参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

2-1、可以新建一个文件夹,mkdir testGit, 然后cd testGit

2-2、增加你需要改变的东西,放到testGit中去,添加到仓库中去

2-3、提交到仓库中去 -m “这里面是需要注释的内容”

2-4、接下来就是看,你的远程仓库建在什么地方啦,我在github 和 coding 上都有,个人认为刚开始在coding 上使用还是不错的

2-5、把内容推送到远程库上

2-6、然后每次用之前

实际上现在到目前为止就可以开始用起来啦,当然分支管理这个大部分我们后期在讨论。

常用的命令

2-7、建立分支并切换

2-8、合并分支

工作区-----仓库----远程仓库(git add; git commit ; git push )

Swap file ".git/.MERGE_MSG.swp" already exists!

[O]pen Read-Only, (E)dit anyw***, (R)ecover, (Q)uit, (A)born:

4-1(答)解决方法:

解决:

相应的 git pull

自动合并失败。由于在同一行进行了修改,所以产生了冲突。

在冲突处

然后重新提交

如何优雅地使用 Git

安装并配置Git

当时我们可以用万能的apt啊:

sudo apt-get install git1

如果是老一点的Debian或者Ubuntu,那就要(所以要及时更新源啊):

sudo apt-get install git-core1

如果是其他的Linux呢那就源码安装吧,解压后:

./config

make

sudo make install123

安装完成后初步设置一下子:

git config --global user.name "Your Name"

git config --global user.email "email@example.com"12

这里强烈建议大家去申请Gmail吧,人家Nessus都不认QQ邮箱的。

注意git config命令的- -global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

至此,恭喜你,成功安装了Git。

创建版本库

首先,选择一个合适的目录,作为自己的工作目录

root@firgavin-virtual-machine:~# mkdir learngit

root@firgavin-virtual-machine:~# cd learngit/

root@firgavin-virtual-machine:~/learngit# pwd

/root/learngit

root@firgavin-virtual-machine:~/learngit# git in

init instaweb

root@firgavin-virtual-machine:~/learngit# git init

初始化空的 Git 仓库于 /root/learngit/.git/12345678

那么,一个新的Git仓库就建好了。切换进去查看一下:

root@firgavin-virtual-machine:~/learngit# ls -al

总用量 12

drwxr-xr-x 3 root root 4096 8月 17 10:49 .

drwx------ 5 root root 4096 8月 17 10:48 ..

drwxr-xr-x 7 root root 4096 8月 17 10:49 .git12345

虽然是个空的仓库(empty Git repository),但是可以发现当前目录下多了一个.git的目录,这个目录是Git来跟踪管理版本库的,没事千万不要手动修改这个目录里面的文件,不然改乱了,就把Git仓库给破坏了。

基本操作啊

我们随便创建一个文件,当然是在当前目录下了:

root@firgavin-virtual-machine:~/learngit# vi readme.txt

root@firgavin-virtual-machine:~/learngit# cat readme.txt

Git is a version control system.

Git is free software.1234

提交也是相当简单的啊,只需要两步(不查看状态的情况下)即可:

root@firgavin-virtual-machine:~/learngit# git add readme.txt

root@firgavin-virtual-machine:~/learngit# git commit -m "wrote a readme file"

[master (根提交) 3b5aaff] wrote a readme file

1 file changed, 2 insertions(+)

create mode 100644 readme.txt

这里呢,-m参数后面接的是本次提交说明,养成良好习惯每次都要写,而且要干练精简。

修改一下readme.txt如下:

root@firgavin-virtual-machine:~/learngit# vi readme.txt

root@firgavin-virtual-machine:~/learngit# cat readme.txt

Git is a distributed version control system.

Git is free software.

12345

使用git status查看当前仓库的具体状态:

root@firgavin-virtual-machine:~/learngit# git status

位于分支 master

尚未暂存以备提交的变更:

(使用 "git add 文件..." 更新要提交的内容)

(使用 "git checkout -- 文件..." 丢弃工作区的改动)

修改: readme.txt

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

显然我们修改了文件但是并没有提交,那么我们的文件还是处于工作区的,于是Git人性化地提示我们,到底是要提交呢,还是放弃提交呢。不好确定就看一下修改内容吧:

root@firgavin-virtual-machine:~/learngit# git diff

diff --git a/readme.txt b/readme.txt

index 46d49bf..9247db6 100644

--- a/readme.txt

+++ b/readme.txt

@@ -1,2 +1,2 @@

-Git is a version control system.

+Git is a distributed version control system.

Git is free software.

很清晰的显示出改动的地方,不是么。

当然你确定修改的话就正常add然后commit,如果你要撤销修改的话,按照提示:

root@firgavin-virtual-machine:~/learngit# git checkout -- readme.txt

root@firgavin-virtual-machine:~/learngit# cat readme.txt

Git is a version control system.

Git is free software.

root@firgavin-virtual-machine:~/learngit#

123456

命令git checkout – readme.txt意思就是,把readme.txt文件在工作区的修改全部撤销,这里有两种情况:

一种是readme.txt自修改后还没有被放到暂存区,现在,撤销修改就回到和版本库一模一样的状态;

一种是readme.txt已经添加到暂存区后,又作了修改,现在,撤销修改就回到添加到暂存区后的状态。

总之,就是让这个文件回到最近一次git commit或git add时的状态。

以上情况使用于你修改了工作区想直接丢弃工作区的修改,如果你修改了并且添加到了暂存区那么就要:

root@firgavin-virtual-machine:~/learngit# git reset HEAD readme.txt

重置后取消暂存的变更:

M readme.txt

root@firgavin-virtual-machine:~/learngit# git status

位于分支 master

尚未暂存以备提交的变更:

(使用 "git add 文件..." 更新要提交的内容)

(使用 "git checkout -- 文件..." 丢弃工作区的改动)

修改: readme.txt

修改尚未加入提交(使用 "git add" 和/或 "git commit -a")

root@firgavin-virtual-machine:~/learngit#

1234567891011121314

这里需要优先使用git reset HEAD file取消暂存区的变更,查看状态发现变更此时位于工作区。

然后参考***种git checkout – file就万事大吉。

如果不但将文件add了又commit了,那么久需要版本回退

首先查看下当前有多少个版本:

root@firgavin-virtual-machine:~/learngit# git log

commit 7613ea2dd2a3b5333fb637b9c31fc74c6d4fa0c8

Author: Xiaoming 3052355537@qq.com

Date: Wed Aug 17 11:40:34 2016 +0800

di 1 ci ciu gai

commit 3b5aaff96463cad74ef7238a8324fc3298b7e748

Author: Xiaoming 3052355537@qq.com

Date: Wed Aug 17 11:02:04 2016 +0800

wrote a readme file

12345678910111213

或者使用一个更为简洁的命令来查看版本:

root@firgavin-virtual-machine:~/learngit# git log --pretty=oneline

7613ea2dd2a3b5333fb637b9c31fc74c6d4fa0c8 di 1 ci ciu gai

3b5aaff96463cad74ef7238a8324fc3298b7e748 wrote a readme file123

那么退回上一个版本只需要:

root@firgavin-virtual-machine:~/learngit# git reset --hard HEAD^

HEAD 现在位于 3b5aaff wrote a readme file

root@firgavin-virtual-machine:~/learngit# git log

commit 3b5aaff96463cad74ef7238a8324fc3298b7e748

Author: Xiaoming 3052355537@qq.com

Date: Wed Aug 17 11:02:04 2016 +0800

wrote a readme file

123456789

好吧***作失误又想回到刚才的版本怎么办,先用git reflog查看下commit ID然后调回即可:

root@firgavin-virtual-machine:~/learngit# git reflog

3b5aaff HEAD@{0}: reset: moving to HEAD^

7613ea2 HEAD@{1}: commit: di 1 ci ciu gai

3b5aaff HEAD@{2}: commit (initial): wrote a readme file

root@firgavin-virtual-machine:~/learngit# git reset --hard 7613ea2

HEAD 现在位于 7613ea2 di 1 ci ciu gai

root@firgavin-virtual-machine:~/learngit# git log

commit 7613ea2dd2a3b5333fb637b9c31fc74c6d4fa0c8

Author: Xiaoming 3052355537@qq.com

Date: Wed Aug 17 11:40:34 2016 +0800

di 1 ci ciu gai

commit 3b5aaff96463cad74ef7238a8324fc3298b7e748

Author: Xiaoming 3052355537@qq.com

Date: Wed Aug 17 11:02:04 2016 +0800

wrote a readme file

总结一下,git reset –hard HEAD^回到上个版本,git reset –hard commitID回到ID提交位置。

最后删除文件就十分简单明了了:

git rm filename

git commit -m "remove filename"12

这样就可以将文件从版本库中删除了。万一从版本库中误删了可以:

git checkout -- filename1

即可将文件恢复至最新版本。

5分钟知道git如何使用?(git入门常用命令)

这里引用一下“菜鸟教程”对git的描述

Git 常用的是以下 6 个命令:git clone、git push、git add 、git commit、git checkout、git pull

关于git下载安装这里就不细说了,毕竟我们只有5分钟的时间,可以去git官网下载对应的版本网上查查安装教程。

首先建立一个本地仓库(repository)。你可以使用一个已经存在的目录作为Git仓库或创建一个空目录。我这里就创建一个空目录itep为例:

初始化本地仓库

我们有一个仓库,但什么也没有,先在工作区创建一个文件‘demo.html’,可以使用add命令添加到暂存区。

我们在工作区创建了好几个新的文件,html,js,和css。接下来我们都可以添加到暂存区

当我们修改了很多文件,而不想每一个都add,想commit自动来提交本地修改,我们可以使用-a标识。 注意是修改,而不是新增,新增的文件我们还是要先add,之后再修改这些文件的话,就可以直接使用-a命令了。

现在我们已经添加了这些文件,我们希望它们能够真正被保存在Git仓库。

为此,我们将它们提交到本地仓库

接下来我们发布版本,提交到远程仓库。注意这里远程仓库的地址只是举例

5分钟已经到了吧...

上面从新建一个页面,提交到远程仓库的流程已经说完了,接下来我们说点别的。。

删除文件

删除工作区和暂存区文件git rm ,删除文件有以下几种形式

对,就是这么简单,你的工作区和暂存区demo.js这个文件已经没有了

如果删除之前修改过并且已经放到暂存区域的话,则必须要用强制删除选项 -f。

强行从暂存区和工作区中删除修改后的 demo.html 文件:

如果想把文件从暂存区中删除,但仍然希望保留在当前工作目录中的话这样操作

git安装使用

1 git初始化 提交

安装git.exe

git bash 进入linux操作界面

创建git仓库目录 :进入目录路径下+git init 初始化

git add 文件 //加入缓存

git commit -m “标注”//提交

git status 查看下当前git目录下文件状态,是否已修改未add/commit

git log

git reset commit id --hard 版本回退

git reflog 查看被删除的文件

2 分支

git log: HEAD指向为当前分支是哪个

git branch 查看当前分支

git checkout * 切换分支为

git branch * 创建分支

git branch -d 删除其他分支 -D强制删除不检验

git merge 其他分支 合并其他分支提交的文件,使本分支文件更多了

3分支规范

master分支 :生产分支

develop分支 :开发分支

4 远程仓库 码云

git remote add orign (自定义命名,默认origin) 远程仓库地址(url)

git remote 查看当前的远程仓库

git push + origin master 本地仓库提交到远程仓库

git push -f 强制覆盖

git push --set-upstream origin master:master

本地分支和远端分支建立连接关系

git branch -vv 查看本地和远程分支的对应

git clone ssh远程仓库地址

git pull(抓取+合并到本地master) =git fetch + git merge orign/master

git 日常用法

git pull远程主机名远程分支名:本地分支名

git push远程主机名本地分支名:远程分支名 , 和git pull 都是 src:dest

git fetch远程主机名分支名其实就是拉去远程分支到本地版本库,然后再使用 git merge

git merge 合并分支,将 合并到当前所在的分支, 比如 git merge master ,将本地master与自己的分支合并,比如 git merge origin/branch ,就是将远程的 origin/branch 与本地的分支合并 , 比如不自动commit,可以 git merge--no-commit 。 其实git merge 可以一次合并多个分支,比如 git merge origin/ 其实就是管你远程和本地了全部合到我的分支上。

git diff 在两个分支之间比较

git diff--cached 比较 git add. 与 工作区之间的比较 , 也就是本地暂存区与工作区之间的比较

git reset--mixed 将暂存区的分支直接回到到工作区, 也就是比如 git add. 你想回退到本地,直接 `git resrt --mixed

git reset--mixed HEAD~1 回退一个版本,比如你本地commit/远程已经push了,那么你本地和远程是一样的,如果你想回退一个版本,此时需要reset操作,主要是解决回退的操作,上面就是commit一次后需要回退一个版本,所以是 HEAD 1 , 比如commit了两次就是 HEAD~2 , 此时有4种选项,一般分为 --hard 和 --mixed , --soft , --hard 硬reset,回退回来你的这次修改全部没有了,也就是直接回到了上一个版本,而 --mixed 回退到你没有 git add. 操作的时候, --soft 是回退到你 git add. 操作完后的时候。 看需求吧。一般只用 --hard 和 --mixed .

git commit--amend 主要是处理 你 git commit-m'' 想要修改 commit的desc/comment了。

git rm-r--cached. 比如修改了 gitignore ,但是其实你的版本库/暂存区是没有 ignore的,所以需要直接删除 暂存区的缓存。

git rm file 也就是删除本地开发的一个文件,硬删除,直接删没了,回退也需要硬回退。

git checkout. 清空本地所有修改的代码

git checkout-b 将本地的这个分支,checkout 出一个新的分支,名字为 git checkout-b origin/ ,将远程的 分支上 checkout一个新的本地分支名字为`

有些场景可能需要打tag,所以一般是 git pull ,拉去远程的所有代码(记得切换到master上),然后 git tag 查看 tag 历史 ,创建一个新的tag ,比如 git tag v1.1.0 ,然后直接推送到远程 git push origin v1.1.0 就好了(一般是别人给你合master了,上线可能需要打新的tag)

文件权限 发生变更需要配置:git diff old mode 100644 new mode 100755 的问题 :需要设置 git config --add core.filemode false

git log-p README.md 查看文件的变更详细 历史 , git log 查看文件的变更 历史 ,另外有可能查看某一行的变更,这个是指你没有ide的情况下,所以需要指定

然后

git shortlog-sn 查看提交者

git submodel add remote_addr local_dir 子模块

文档:Git-工具-子模块

1、在父项目新建子模块

2、提交子模块

问题就是,提交流程过于复杂!!

git的使用的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、git的使用的信息别忘了在本站进行查找喔。

原文链接:http://www.8178.org/news/show-36163.html,转载和复制请保留此链接。
以上就是关于git的使用的简单介绍全部的内容,关注我们,带您了解更多相关内容。
 
标签: 分支 文件 仓库
打赏
0相关评论

推荐资讯
网站首页  |  VIP套餐介绍  |  关于我们  |  联系方式  |  手机版  |  版权隐私  |  SITEMAPS  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报