❶ linux 安装好git 怎么用
Git服务程序中提交数据、移除数据、移动数据、查询历史记录、还原数据及管理标签等,满足日常工作的需求。
同时还为包括了分支结构的创建与合并,遇到分支内容冲突的解决办法,动手部署Git服务器及使用Github托管服务等一些强大的功能,你可以参考下
一、在正式使用前,我们还需要弄清楚Git的三种重要模式,分别是已提交、已修改和已暂存:
已提交(committed):表示数据文件已经顺利提交到Git数据库中。
已修改(modified):表示数据文件已经被修改,但未被保存到Git数据库中。
已暂存(staged):表示数据文件已经被修改,并会在下次提交时提交到Git数据库中。
提交前的数据文件可能会被随意修改或丢失,但只要把文件快照顺利提交到Git数据库中,那就可以完全放心了,流程为:
1.在工作目录中修改数据文件。
2.将文件的快照放入暂存区域。
3.将暂存区域的文件快照提交到Git仓库中。
执行yum命令来安装Git服务程序:
[root@linuxprobe ~]# yum install -y git
Loaded plugins: langpacks, proct-id, subscription-manager
………………省略部分安装过程………………
Installing:
git x86_64 1.8.3.1-4.el7 rhel7 4.3 M
Installing for dependencies:
perl-Error noarch 1:0.17020-2.el7 rhel7 32 k
perl-Git noarch 1.8.3.1-4.el7 rhel7 52 k
perl-TermReadKey x86_64 2.30-20.el7 rhel7 31 k
………………省略部分安装过程………………
Complete!
首次安装Git服务程序后需要设置下用户名称、邮件信息和编辑器,这些信息会随着文件每次都提交到Git数据库中,用于记录提交者的信息,而Git服务程序的配置文档通常会有三份,针对当前用户和指定仓库的配置文件优先级最高:
配置文件 作用
/etc/gitconfig 保存着系统中每个用户及仓库通用配置信息。
~/.gitconfig
~/.config/git/config 针对于当前用户的配置信息。
工作目录/.git/config 针对于当前仓库数据的配置信息。
第一个要配置的是你个人的用户名称和电子邮件地址,这两条配置很重要,每次 Git 提交时都会引用这两条信息,记录是谁提交了文件,并且会随更新内容一起被永久纳入历史记录:
[root@linuxprobe ~]# git config --global user.name "Liu Chuan"
[root@linuxprobe ~]# git config --global user.email "[email protected]"
设置vim为默认的文本编辑器:
[root@linuxprobe ~]# git config --global core.editor vim
嗯,此时查看下刚刚配置的Git工作环境信息吧:
[root@linuxprobe ~]# git config --list
user.name=Liu Chuan
[email protected]
core.editor=vim
二、提交数据
我们可以简单的把工作目录理解成是一个被Git服务程序管理的目录,Git会时刻的追踪目录内文件的改动,另外在安装好了Git服务程序后,默认就会创建好了一个叫做master的分支,我们直接可以提交数据到了。
三、移除数据
有些时候会向把已经添加到暂存区的文件移除,但仍然希望文件在工作目录中不丢失,换句话说,就是把文件从追踪清单中删除。
移动数据
Git不像其他版本控制系统那样跟踪文件的移动操作,如果要修改文件名称,则需要使用git mv命令:
[root@linuxprobe linuxprobe]# git mv readme.txt introction.txt
由于字数限制,不能完全放下,如果你想好好了解,建议你看下http://www.linuxprobe.com/chapter-21.html 这个文档中有详细的用法你可以看看对你有用吗
❷ kali linux如何使用GIT clone
在linux下搭建git环境
1、创建Github账号,https://github.com
2、Linux创建SSH密钥:
[plain] view plain
01.ssh-keygen ##一直默认就可以了
3、将公钥加入到Github账户信息Account Settings->SSH Key
4、测试验证是否成功。
[plain] view plain
01.ssh -T [email protected]
02.Hi someone! You've successfully authenticated, but GitHub does not provide shell access.
同步github到本地
1、复制项目到本地:
[plain] view plain
01.git clone git://github.com:xxxx/test.git ##以gitreadonly方式克隆到本地,只可以读
02.git clone [email protected]:xxx/test.git ##以SSH方式克隆到本地,可以读写
03.git clone https://github.com/xxx/test.git ##以https方式克隆到本地,可以读写
04.git fetch [email protected]:xxx/xxx.git ##获取到本地但不合并
05.git pull [email protected]:xxx/xxx.git ##获取并合并内容到本地
本地提交项目到github
1、本地配置
[plain] view plain
01.git config --global user.name 'onovps'
02.git config --global user.email '[email protected]' #全局联系方式,可选
2、新建Git项目并提交到Github。
[plain] view plain
01.mkdir testdir & cd testdir
02.touch README.md
03.git init #初始化一个本地库
04.git add README.md #添加文件到本地仓库
05.git rm README.md #本地倒库内删除
06.git commit -m "first commit" #提交到本地库并备注,此时变更仍在本地。
07.git commit -a ##自动更新变化的文件,a可以理解为auto
08.git remote add xxx [email protected]:xxx/xxx.git #增加一个远程服务器的别名。
09.git remote rm xxx ##删除远程版本库的别名
10.git push -u remotename master #将本地文件提交到Github的remoname版本库中。此时才更新了本地变更到github服务上。
分支版本操作
1、创建和合并分支
[plain] view plain
01.git branch #显示当前分支是master
02.git branch new-feature #创建分支
03.git checkout new-feature #切换到新分支
04.vi page_cache.inc.php
05.git add page_cache.inc.php
06.git commit -a -m "added initial version of page cache"
07.git push origin new-feature ##把分支提交到远程服务器,只是把分支结构和内容提交到远程,并没有发生和主干的合并行为。
2、如果new-feature分支成熟了,觉得有必要合并进master
[plain] view plain
01.git checkout master #切换到新主干
02.git merge new-feature ##把分支合并到主干
03.git branch #显示当前分支是master
04.git push #此时主干中也合并了new-feature的代码
git命令使用思维图:【非常有料】
❸ 如何在Linux下使用Gitblit工具创建Git仓库服务
1.创建Gitblit安装目录
首先我们将在我们的服务器上建立一个目录,并在该目录下安装最新的Gitblit。
$ sudo mkdir -p /opt/gitblit$ cd /opt/gitblit
添加新的仓库
使用命令行创建一个新的仓库
touch README.md git init git add README.md git commit -m "first commit" git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git git push -u origin master
请将其中的用户名arunlinoxide替换为你添加的用户名。
在命令行中push一个已存在的仓库
git remote add origin ssh://arunlinoxide@localhost:29418/linoxide.com.git git push -u origin master
注意:强烈建议所有人修改用户名“admin”的密码。
结论
欢呼吧!我们已经在Linux电脑中安装好了最新版本的Gitblit。接下来我们便可以在我们的大小项目中享受这样一个优美的版本控制系统。有了Gitblit,版本控制便再容易不过了。它有易于学习、轻量级、高性能的特点。因此,如果你有任何的问题、建议和反馈,请在留言处留言。
❹ Linux里面git log —oneline命令作用是什么后面的oneline
题主你好,
git log --oneline等价于 git log --abbrev-commit --pretty=one,也就是说
--oneline是--abbrev-commit --pretty=one这两个选项的一个简写形式
-----
希望可以帮到题主, 欢迎追问.
❺ Linux系统中怎么安装Git
一、使用包管理器安装Git
Git已经被所有的主流Linux发行版所支持。所以安装它最简单的方法就是使用各个Linux发行版的包管理器。
1、Debian, Ubuntu, 或 Linux Mint
$sudoapt-getinstallgit
2、Fedora, CentOS 或 RHEL
$sudoyuminstallgit或$sudodnfinstallgit
3、Arch Linux
$sudopacman-Sgit
4、OpenSUSE
$sudozypperinstallgit
5、Gentoo
$emerge--ask--verbosedev-vcs/git
二、从源码安装Git
如果由于某些原因,希望从源码安装Git,按照如下介绍操作。
1、安装依赖包
在构建Git之前,先安装它的依赖包。
//Debian,Ubuntu或LinuxMint
$sudoapt-getinstalllibcurl4-gnutls-devlibexpat1-devgettextlibz-devlibssl-devasciidocxmltodocbook2x
//Fedora,CentOS或RHEL
$sudoyuminstallcurl-develexpat-develgettext-developenssl-develzlib-develasciidocxmltodocbook2x
2、从github官网下载最新版本的Git。然后在/usr下构建和安装。
注意,如果打算安装到其他目录下(例如:/opt),那就把“--prefix=/usr”这个配置命令使用其他路径替换掉。
$cdgit-x.x.x
$makeconfigure
$。/configure--prefix=/usr
$makealldocinfo
$sudomakeinstallinstall-docinstall-htmlinstall-info
❻ Linux系统下Git的基本配置和使用示例
git config配置文件
一.Git已经在你的系统中了,你会做一些事情来客户化你的Git环境。你只需要做这些设置一次;即使你升级了,他们也会绑定到你的环境中。你也可以在任何时刻通过运行命令来重新更改这些设置。
Git有一个工具被称为git config,它允许你获得和设置配置变量;这些变量可以控制Git的外观和操作的各个方面。这些变量可以被存储在三个不同的位置:
1./etc/gitconfig 文件:包含了适用于系统所有用户和所有库的值。如果你传递参数选项’--system’ 给 git config,它将明确的读和写这个文件。
2.~/.gitconfig 文件 :具体到你的用户。你可以通过传递--global 选项使Git 读或写这个特定的文件。
3.位于git目录的config文件 (也就是 .git/config) :无论你当前在用的库是什么,特定指向该单一的库。每个级别重写前一个级别的值。因此,在.git/config中的值覆盖了在/etc/gitconfig中的同一个值。
在Windows系统中,Git在$HOME目录中查找.gitconfig文件(对大多数人来说,位于C:Documents and Settings$USER下)。它也会查找/etc/gitconfig,尽管它是相对于Msys 根目录的。这可能是你在Windows中运行安装程序时决定安装Git的任何地方。
二.你的标识(Your Identity)
2.1当你安装Git后首先要做的事情是设置你的用户名称和e-mail地址。这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
代码如下:
$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]
重申一遍,你只需要做一次这个设置。如果你传递了 --global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。
2.2 你的编辑器(Your Editor)
现在,你的标识已经设置,你可以配置你的缺省文本编辑器,Git在需要你输入一些消息时会使用该文本编辑器。缺省情况下,Git使用你的系统的缺省编辑器,这通常可能是vi 或者 vim。如果你想使用一个不同的文本编辑器,例如Emacs,你可以做如下操作:
代码如下:
$ git config --global core.editor emacs
2.3 你的比较工具(Your Diff Tool)
另外一个你可能需要配置的有用的选项是缺省的比较工具它用来解决合并时的冲突。例如,你想使用vimdiff:
代码如下:
$ git config --global merge.tool vimdiff
Git可以接受kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge, 和 opendiff作为有效的合并工具。你也可以设置一个客户化的工具;查看第7章获得更多关于此的信息。
2.4 检查你的设置(Checking Your Settings)
如果你想检查你的设置,你可以使用 git config --list 命令来列出Git可以在该处找到的所有的设置:
代码如下:
$ git config --list
user.name=Scott Chacon
[email protected]
color.status=auto
color.branch=auto
color.interactive=auto
color.diff=auto
...
你可能会看到一个关键字出现多次,这是因为Git从不同的文件中(例如:/etc/gitconfig以及~/.gitconfig)读取相同的关键字。 在这种情况下,对每个唯一的关键字,Git使用最后的那个值。
你也可以查看Git认为的一个特定的关键字目前的值,使用如下命令 git config {key}:
代码如下:
$ git config user.name
Scott Chacon
2.5 获取帮助(Getting help)
如果当你在使用Git时需要帮助,有三种方法可以获得任何git命令的手册页(manpage)帮助信息:
代码如下:
$ git help
$ git --help
$ man git-
例如,你可以运行如下命令获取对config命令的手册页帮助:
代码如下:
$ git help config
这些命令非常友好,因为你可以在任何地方存取他们,即使非在线状态。如果手册页和本书仍然不足而你需要个人的帮助,你可以试着使用Freenode IRCServer上的#git或#github 频道(irc.freenode.net)。这些频道会定期由数百个对Git非常熟悉的专业人士所维护,他们会非常乐意帮助你。
2.6 总结(Summary)
你应该对Git是什么以及Git与你可能使用的其它CVCS之间的不同有了一个基本的了解。你也应当在你的系统中有了一个具有你个人标识的可以工作的Git版本。是时候来学习一些Git的基本知识了。
git 实际使用记录
1、git 提交代码错误实例分析
代码如下:
$ git push origin master
代码如下:
To [email protected]:k6.git
! [rejected] master - master (non-fast-forward)
error: failed to push some refs to '[email protected]:k6.git'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes before pushing again. See the 'Note about
fast-forwards' section of 'git push --help' for details.
cbk@YCS:~/work/k6_130708/k6$ git fecth
git: 'fecth' is not a git command. See 'git --help'.
git push 错误,因为没有先pull最新的代码,需要以下操作:
代码如下:
$ git fetch origin
$ git merge origin/master
$ git push origin master
如果安装git后没有设置你的用户名称和e-mail地址,还需要先执行:
代码如下:
$ git config --global user.name "cbk"
$ git config --global user.email [email protected]
这是非常重要的,因为每次Git提交都会使用该信息。它被永远的嵌入到了你的提交中:
重申一遍,你只需要做一次这个设置。如果你传递了 --global 选项,因为Git将总是会使用该信息来处理你在系统中所做的一切操作。如果你希望在一个特定的项目中使用不同的名称或e-mail地址,你可以在该项目中运行该命令而不要--global选项。
具体到此问题,如果没有设置你的用户名称和e-mail地址,则一直正确无法push代码。
2、Git 跟踪一个文件的提交历史记录
在跟踪Android代码是,有时候发现某个关键文件被改动了,需要跟踪查看对这个关键文件的所有commit的记录,以便理解其中的修改原因和过程:
代码如下:
git log -p “file name”
显示这个文件的每一行的最后提交commit,方便定位commit:
代码如下:
git blame “file name"
显示log详细修改记录:
git show [log_id_num],例如:
代码如下:
git show
3、git初始化之git config
1). 下面的命令将修改/home/[username]/.gitconfig文件,也就是说下面的配置只对每一个ssh的用户可见,所以每个人都需要做。
提交代码的log里面会显示提交者的信息
代码如下:
git config --global user.name [username]
git config --global user.email [email]
在git命令中开启颜色显示
代码如下:
git config --global color.ui true
2). 下面的命令将修改/etc/gitconfig文件,这是全局配置,所以admin来做一次就可以了。
配置一些git的常用命令alias
代码如下:
sudo git config --system alias.st status #git st
sudo git config --system alias.ci commit #git commit
sudo git config --system alias.co checkout #git co
sudo git config --system alias.br branch #git branch
3). 也可以进入工作根目录,运行git config -e,这样就只会修改工作区的.git/config文件,但是暂时还用不着.
git config文件的override顺序是3)1)2).
4.版本回退
代码如下:
git reset --hard commit_id
代码如下:
git checkout commit_id
代码如下:
git clean –df commit_id