导航:首页 > 操作系统 > Linuxgit可视化

Linuxgit可视化

发布时间:2023-01-11 05:58:12

⑴ ubuntu有没有Git的可视化操作界面啊,使用命令行操作很不方便啊

到软件中心那里搜一下吧,Git的可视化操作界面还是有的。比如:
gitweb (web interface)
qgit(Qt interface)

linux系统下怎么使用git

*初始化git仓库,使用git init命令
*添加文件到git仓库分两步:
1、使用git add filename ;可分多次使用,添加多个文件到暂存区
2、使用git commit -m “说明” ;完成提交到分支
*查看工作区状态,使用git status 命令;如果提示有修改可使用git diff filename 查看修改内容
*HEAD指向当前版本,HEAD^表示上一个版本,HEAD^^上上一个版本……HEAD~100指向之前第100个版本。
*回退版本:使用git log查看提交历史;使用git log --pretty=oneline 精简显示
使用git reset --hard commit_id 回退到版本号为commit_id的版本
*回退版本之后如果想再看改回来,可以使用git reflog 查看历史命令,找出想改回的版本号,再使用git reset hard commit_id 返回即可。
*注意:git跟踪并管理的是修改,而不是文件,如果一个文件修改并add之后,再次修改,如果不再次add就提交的话,只会提交第一次的修改。命令详解可查看“Linux命令大全”。

⑶ 我就想问一下,阿里云Linux系统可视化如何弄

网上有很多面板工具,把他们安装到自己的linux系统就行了。
推荐看一下这个http://vpszn.net/vpsapply/033105552751.html

⑷ 如何在Linux下使用Git

一种方法是直接用root执行 一种方法是看下git的执行权限,是不是可以设成当前owner直接可以执行 还有一种方法是用当前用户安装git

⑸ 如何在Linux下使用Git

1、yum方式安装
# yum -y install git
如果提示系统提示没有找到git包,可以采用下面的方式

2、下载Git源码
官网:http://git-scm.com/
$ tar -xjvf git-1.7.4.1.tar.bz2
$ cd git-1.7.4.1/
$ make prefix=/usr/local all
$ make prefix=/usr/local install

⑹ 在Linux下搭建Git服务器

众所周知,版本系统在开发环境中是必不可少的,但是我们可以把代码免费的托管到GitHub上,如果我们不原意公开项目的源代码,公司又不想付费使用,那么我们可以自己搭建一台Git服务器,可以用Gitosis来管理公钥,还是比较方便的。

搭建环境:

服务器 CentOS6.6 + git(version 1.8.3.1)

客户端 Windows10 + git(version 2.11.1.windows.1)

1. 安装Git相关软件

Linux是服务器端系统,Windows作为客户端系统,分别安装Git

安装客户端:

下载 Git for Windows,地址:https://git-for-windows.github.io/

安装完之后,可以使用Git Bash作为命令行客户端。

安装Gitosis

出现下面的信息表示安装成功了

2. 服务器端创建git用户来管理Git服务

3. 配置公钥

在Windows上配置管理者,git服务器需要一些管理者,通过上传开发者机器的公钥到服务器,添加成为git服务器的管理者,打开git命令行

4. 配置gitosis

使用git用户并初始化gitosis

在Windows上机器上clone gitosis-admin到管理者主机

gitosis.conf: git服务器配置文件

keydir: 存放客户端公钥

配置 gitosis.conf 文件

在Windows管理者机器上创建本地test仓库,并上传到git服务端

提交到远程服务器

服务端会自动创建test仓库

5.添加其他git用户开发者

由于公司开发团队人数不断增多,手动添加开发者私钥到/home/git/.ssh/authorized_keys比较麻烦,通过上面的Windows机器的管理者统一收集其他开发者的私钥id_rsa.pub文件,然后传到服务器上,配置好后,用户即获得项目权限,可以从远程仓库拉取和推送项目,达到共同开发项目。

推送完成后,新加进来的开发者就可以进行项目的开发了,后续增加人员可以这样添加进来,开发者直接把仓库clone下来就可以了。

⑺ linux 怎么git github

linux 怎么git github
一、使用包管理器安装GitGit已经被所有的主流Linux发行版所支持。所以安装它最简单的方法就是使用各个Linux发行版的包管理器。
1、Debian, Ubuntu, 或 Linux Mint
$ sudo apt-get install git
2、Fedora, CentOS 或 RHEL
$ sudo yum install git或$ sudo dnf install git
3、Arch Linux
$ sudo pacman -S git
4、OpenSUSE
$ sudo zypper install git

⑻ linux如何搭建git

1、环境准备
服务器:CentOS 7.3 + git (1.8.3.1)
客户端:win10 + git (2.17.0.windows.1)
2、服务器安装git
yum install -y git
3、创建git用户,管理 git服务
[root@localhost home]# useradd git
[root@localhost home]# passwd git
4、服务器创建git 仓库
设置/home/git/repository-git 为git 服务器仓库,然后把 git 仓库的 owner 修改为 git 用户。
复制代码
[root@localhost git]# mkdir repository-git
[root@localhost git]# git init --bare repository-git/
Initialized empty Git repository in /home/git/repository-gt/
[root@localhost git]# chown -R git:git repository-git/
5、客户端安装git
下载 Git for Windows,地址:https://git-for-windows.github.io/
安装完之后,可以使用 Git Bash 作为命令行客户端。
5.1、选择一个目录 F:\project\sell 作为本地仓库,右键进入Git Bash 命令行模式
初始化本地仓库:git init
5.2、尝试克隆一个服务器的空仓库到本地仓库
git clone [email protected]:/home/git/repository-gt
第一次连接到目标 Git 服务器时会得到一个提示:
The authenticity of host '192.168.116.129(192.168.116.129)' can't be established.
RSA key fingerprint is SHA256:Ve6WV/.
Are you sure you want to continue connecting (yes/no)?
选择 yes:
Warning: Permanently added '192.168.116.129' (RSA) to the list of known hosts.
此时 C:\Users\用户名\.ssh 下会多出一个文件 known_hosts,以后在这台电脑上再次连接目标 Git 服务器时不会再提示上面的语句。

⑼ 45 个 Git 经典操作场景,专治不会合代码-

git 对于大家应该都不太陌生,熟练使用git已经成为程序员的一项基本技能,尽管在工作中有诸如 Sourcetree 这样牛X的客户端工具,使得合并代码变的很方便。但找工作面试和一些需彰显个人实力的场景,仍然需要我们掌握足够多的git命令。

下边我们整理了45个日常用git合代码的经典操作场景,基本覆盖了工作中的需求。

如果你用 git commit -a 提交了一次变化(changes),而你又不确定到底这次提交了哪些内容。你就可以用下面的命令显示当前 HEAD 上的最近一次的提交(commit):

或者

如果你的提交信息( commit message )写错了且这次提交(commit)还没有推(push), 你可以通过下面的方法来修改提交信息( commit message ):

这会打开你的默认编辑器, 在这里你可以编辑信息. 另一方面, 你也可以用一条命令一次完成:

如果你已经推(push)了这次提交(commit), 你可以修改这次提交(commit)然后强推( force push ), 但是不推荐这么做。

如果这只是单个提交(commit),修改它:

如果你需要修改所有 历史 , 参考 'git filter-branch'的指南页.

通过下面的方法,从一个提交(commit)里移除一个文件:

这将非常有用,当你有一个开放的补丁( open patch ),你往上面提交了一个不必要的文件,你需要强推( force push )去更新这个远程补丁。

如果你需要删除推了的提交( pushed commits ),你可以使用下面的方法。可是,这会不可逆的改变你的 历史 ,也会搞乱那些已经从该仓库拉取(pulled)了的人的 历史 。简而言之,如果你不是很确定,千万不要这么做。

如果你还没有推到远程, 把Git重置(reset)到你最后一次提交前的状态就可以了(同时保存暂存的变化):

这只能在没有推送之前有用. 如果你已经推了, 唯一安全能做的是 git revert SHAofBadCommit , 那会创建一个新的提交(commit)用于撤消前一个提交的所有变化(changes);或者, 如果你推的这个分支是rebase-safe的 (例如:其它开发者不会从这个分支拉), 只需要使用 git push -f 。

同样的警告:不到万不得已的时候不要这么做.

或者做一个 交互式rebase 删除那些你想要删除的提交(commit)里所对应的行。

注意, rebasing(见下面)和修正(amending)会用一个 新的提交(commit)代替旧的 , 所以如果之前你已经往远程仓库上推过一次修正前的提交(commit),那你现在就必须强推( force push ) ( -f )。注意 – 总是 确保你指明一个分支!

一般来说, 要避免强推 . 最好是创建和推(push)一个新的提交(commit),而不是强推一个修正后的提交。后者会使那些与该分支或该分支的子分支工作的开发者,在源 历史 中产生冲突。

如果你意外的做了 git reset --hard , 你通常能找回你的提交(commit), 因为Git对每件事都会有日志,且都会保存几天。

你将会看到一个你过去提交(commit)的列表, 和一个重置的提交。选择你想要回到的提交(commit)的SHA,再重置一次:

这样就完成了。

一般来说, 如果你想暂存一个文件的一部分, 你可这样做:

-p 简写。这会打开交互模式, 你将能够用 s 选项来分隔提交(commit);然而, 如果这个文件是新的, 会没有这个选择, 添加一个新文件时, 这样做:

然后, 你需要用 e 选项来手动选择需要添加的行,执行 git diff --cached 将会显示哪些行暂存了哪些行只是保存在本地了。

git add 会把整个文件加入到一个提交. git add -p 允许交互式的选择你想要提交的部分.

多数情况下,你应该将所有的内容变为未暂存,然后再选择你想要的内容进行commit。但假定你就是想要这么做,这里你可以创建一个临时的commit来保存你已暂存的内容,然后暂存你的未暂存的内容并进行stash。然后reset最后一个commit将原本暂存的内容变为未暂存,最后stash pop回来。

注意1: 这里使用 pop 仅仅是因为想尽可能保持幂等。注意2: 假如你不加上 --index 你会把暂存的文件标记为为存储。

如果你只是想重置源(origin)和你本地(local)之间的一些提交(commit),你可以:

重置某个特殊的文件, 你可以用文件名做为参数:

如果你想丢弃工作拷贝中的一部分内容,而不是全部。

签出(checkout)不需要的内容,保留需要的。

另外一个方法是使用 stash , Stash所有要保留下的内容, 重置工作拷贝, 重新应用保留的部分。

或者, stash 你不需要的部分, 然后stash drop。

这是另外一种使用 git reflog 情况,找到在这次错误拉(pull) 之前HEAD的指向。

重置分支到你所需的提交(desired commit):

完成。

先确认你没有推(push)你的内容到远程。

git status 会显示你领先(ahead)源(origin)多少个提交:

一种方法是:

在main下创建一个新分支,不切换到新分支,仍在main下:

把main分支重置到前一个提交:

HEAD^ 是 HEAD^1 的简写,你可以通过指定要设置的 HEAD 来进一步重置。

或者, 如果你不想使用 HEAD^ , 找到你想重置到的提交(commit)的hash( git log 能够完成), 然后重置到这个hash。使用 git push 同步内容到远程。

例如, main分支想重置到的提交的hash为 a13b85e :

签出(checkout)刚才新建的分支继续工作:

假设你正在做一个原型方案(原文为working spike (see note)), 有成百的内容,每个都工作得很好。现在, 你提交到了一个分支,保存工作内容:

当你想要把它放到一个分支里 (可能是 feature , 或者 develop ), 你关心是保持整个文件的完整,你想要一个大的提交分隔成比较小。

假设你有:

我去可以通过把内容拿到你的分支里,来解决这个问题:

这会把这个文件内容从分支 solution 拿到分支 develop 里来:

然后, 正常提交。

假设你有一个 main 分支, 执行 git log , 你看到你做过两次提交:

让我们用提交hash(commit hash)标记bug ( e3851e8 for #21, 5ea5173 for #14).

首先, 我们把 main 分支重置到正确的提交( a13b85e ):

现在, 我们对 bug #21 创建一个新的分支:

接着, 我们用 _cherry-pick_ 把对 bug #21 的提交放入当前分支。这意味着我们将应用(apply)这个提交(commit),仅仅这一个提交(commit),直接在HEAD上面。

这时候, 这里可能会产生冲突, 参见交互式 rebasing 章 冲突节 解决冲突.

再者, 我们为bug #14 创建一个新的分支, 也基于 main 分支

最后, 为 bug #14 执行 cherry-pick :

一旦你在github 上面合并(merge)了一个 pull request , 你就可以删除你fork里被合并的分支。如果你不准备继续在这个分支里工作, 删除这个分支的本地拷贝会更干净,使你不会陷入工作分支和一堆陈旧分支的混乱之中。

如果你定期推送到远程, 多数情况下应该是安全的,但有些时候还是可能删除了还没有推到远程的分支。让我们先创建一个分支和一个新的文件:

添加文件并做一次提交

现在我们切回到主(main)分支,‘不小心的’删除 my-branch 分支

在这时候你应该想起了 reflog , 一个升级版的日志,它存储了仓库(repo)里面所有动作的 历史 。

正如你所见,我们有一个来自删除分支的提交hash(commit hash),接下来看看是否能恢复删除了的分支。

看! 我们把删除的文件找回来了。Git的 reflog 在rebasing出错的时候也是同样有用的。

删除一个远程分支:

你也可以:

删除一个本地分支:

首先, 从远程拉取(fetch) 所有分支:

假设你想要从远程的 daves 分支签出到本地的 daves

( --track 是 git checkout -b [branch] [remotename]/[branch] 的简写)

这样就得到了一个 daves 分支的本地拷贝, 任何推过(pushed)的更新,远程都能看到.

你可以合并(merge)或rebase了一个错误的分支, 或者完成不了一个进行中的rebase/merge。Git 在进行危险操作的时候会把原始的HEAD保存在一个叫ORIG_HEAD的变量里, 所以要把分支恢复到rebase/merge前的状态是很容易的。

不幸的是,如果你想把这些变化(changes)反应到远程分支上,你就必须得强推( force push )。是因你快进( Fast forward )了提交,改变了Git 历史 , 远程分支不会接受变化(changes),除非强推(force push)。

这就是许多人使用 merge 工作流, 而不是 rebasing 工作流的主要原因之一, 开发者的强推(force push)会使大的团队陷入麻烦。使用时需要注意,一种安全使用 rebase 的方法是,不要把你的变化(changes)反映到远程分支上, 而是按下面的做:

假设你的工作分支将会做对于 main 的pull-request。一般情况下你不关心提交(commit)的时间戳,只想组合 所有 提交(commit) 到一个单独的里面, 然后重置(reset)重提交(recommit)。确保主(main)分支是最新的和你的变化都已经提交了, 然后:

如果你想要更多的控制, 想要保留时间戳, 你需要做交互式rebase (interactive rebase):

如果没有相对的其它分支, 你将不得不相对自己的 HEAD 进行 rebase。例如:你想组合最近的两次提交(commit), 你将相对于 HEAD~2 进行rebase, 组合最近3次提交(commit), 相对于 HEAD~3 , 等等。

在你执行了交互式 rebase的命令(interactive rebase command)后, 你将在你的编辑器里看到类似下面的内容:

所有以 # 开头的行都是注释, 不会影响 rebase.

然后,你可以用任何上面命令列表的命令替换 pick , 你也可以通过删除对应的行来删除一个提交(commit)。

例如, 如果你想 单独保留最旧(first)的提交(commit),组合所有剩下的到第二个里面 , 你就应该编辑第二个提交(commit)后面的每个提交(commit) 前的单词为 f :

如果你想组合这些提交(commit) 并重命名这个提交(commit) , 你应该在第二个提交(commit)旁边添加一个 r ,或者更简单的用 s 替代 f :

你可以在接下来弹出的文本提示框里重命名提交(commit)。

如果成功了, 你应该看到类似下面的内容:

--no-commit 执行合并(merge)但不自动提交, 给用户在做提交前检查和修改的机会。 no-ff 会为特性分支(feature branch)的存在过留下证据, 保持项目 历史 一致。

有时候,在将数据推向上游之前,你有几个正在进行的工作提交(commit)。这时候不希望把已经推(push)过的组合进来,因为其他人可能已经有提交(commit)引用它们了。

这会产生一次交互式的rebase(interactive rebase), 只会列出没有推(push)的提交(commit), 在这个列表时进行reorder/fix/squash 都是安全的。

检查一个分支上的所有提交(commit)是否都已经合并(merge)到了其它分支, 你应该在这些分支的head(或任何 commits)之间做一次diff:

这会告诉你在一个分支里有而另一个分支没有的所有提交(commit), 和分支之间不共享的提交(commit)的列表。另一个做法可以是:

如果你看到的是这样:

这意味着你rebase的分支和当前分支在同一个提交(commit)上, 或者 领先(ahead) 当前分支。你可以尝试:

如果你不能成功的完成rebase, 你可能必须要解决冲突。

首先执行 git status 找出哪些文件有冲突:

在这个例子里面, README.md 有冲突。打开这个文件找到类似下面的内容:

你需要解决新提交的代码(示例里, 从中间 == 线到 new-commit 的地方)与 HEAD 之间不一样的地方.

有时候这些合并非常复杂,你应该使用可视化的差异编辑器(visual diff editor):

在你解决完所有冲突和测试过后, git add 变化了的(changed)文件, 然后用 git rebase --continue 继续rebase。

如果在解决完所有的冲突过后,得到了与提交前一样的结果, 可以执行 git rebase --skip 。

任何时候你想结束整个rebase 过程,回来rebase前的分支状态, 你可以做:

暂存你工作目录下的所有改动

你可以使用 -u 来排除一些文件

假设你只想暂存某一个文件

假设你想暂存多个文件

这样你可以在 list 时看到它

首先你可以查看你的 stash 记录

然后你可以 apply 某个 stash

此处, 'n'是 stash 在栈中的位置,最上层的 stash 会是0

除此之外,也可以使用时间标记(假如你能记得的话)。

你需要手动create一个 stash commit , 然后使用 git stash store 。

如果已经克隆了:

如果你想恢复一个已删除标签(tag), 可以按照下面的步骤: 首先, 需要找到无法访问的标签(unreachable tag):

记下这个标签(tag)的hash,然后用Git的 update-ref

这时你的标签(tag)应该已经恢复了。

如果某人在 GitHub 上给你发了一个 pull request , 但是然后他删除了他自己的原始 fork, 你将没法克隆他们的提交(commit)或使用 git am 。在这种情况下, 最好手动的查看他们的提交(commit),并把它们拷贝到一个本地新分支,然后做提交。

做完提交后, 再修改作者,参见变更作者。然后, 应用变化, 再发起一个新的 pull request 。

在 OS X 和 Linux 下, 你的 Git的配置文件储存在 ~/.gitconfig 。我在 [alias] 部分添加了一些快捷别名(和一些我容易拼写错误的),如下:

你可能有一个仓库需要授权,这时你可以缓存用户名和密码,而不用每次推/拉(push/pull)的时候都输入,Credential helper能帮你。

你把事情搞砸了:你 重置(reset) 了一些东西, 或者你合并了错误的分支, 亦或你强推了后找不到你自己的提交(commit)了。有些时候, 你一直都做得很好, 但你想回到以前的某个状态。

这就是 git reflog 的目的, reflog 记录对分支顶端(the tip of a branch)的任何改变, 即使那个顶端没有被任何分支或标签引用。基本上, 每次HEAD的改变, 一条新的记录就会增加到 reflog 。遗憾的是,这只对本地分支起作用,且它只跟踪动作 (例如,不会跟踪一个没有被记录的文件的任何改变)。

上面的reflog展示了从main分支签出(checkout)到2.2 分支,然后再签回。那里,还有一个硬重置(hard reset)到一个较旧的提交。最新的动作出现在最上面以 HEAD@{0} 标识.

如果事实证明你不小心回移(move back)了提交(commit), reflog 会包含你不小心回移前main上指向的提交(0254ea7)。

然后使用 git reset 就可以把main改回到之前的commit,这提供了一个在 历史 被意外更改情况下的安全网。

⑽ linux如何配置git

做前端的在日常工作中少不了和git打交道,那么新安装git之后使用webstorm进行项目上传时有时会出现只能创建项目无法上传文件的错误,那么这种错误是怎么形成的呢,原来是我们没哟成功配置git。按照下面的方式去做就可以解决这个问题。

首先确保自己已经安装了git,打开终端,运行:

查看当前git版本,如果没有安装运行:

sudo npm install git -g

进行git的安装。

运行如下命令对git用户的用户名和邮箱进行配置。

之后再进行上传发现问题已经解决。

阅读全文

与Linuxgit可视化相关的资料

热点内容
jellyfin插件怎么选择主服务器 浏览:836
asp用户注册源码 浏览:48
什么是照片压缩文件 浏览:392
java调用js代码 浏览:979
昆山市民app怎么修改身份信息 浏览:779
php登陆次数 浏览:744
python字符转成数字 浏览:822
海川用的是什么服务器 浏览:376
口才是练出来的pdf 浏览:458
云服务器哪个公司性价比高 浏览:517
源码论坛打包 浏览:558
php怎么做成word 浏览:692
python批量生成密钥 浏览:492
程序员要不要考社区人员 浏览:150
app的钱怎么充q币 浏览:814
android银行卡识别 浏览:756
怎么在app投放广告 浏览:11
手机文件管理怎么看app名称 浏览:192
程序员学数学哪本书最全 浏览:789
macd实战选股公式源码 浏览:644