使用git管理项目

简介: 关于版本控制版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。采用版本控制系统(VCS)后,你可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。

关于版本控制

版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。

采用版本控制系统(VCS)后,你可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最后是谁修改了哪个地方,从而找出导致怪异问题出现的原因,又是谁在何时报告了某个功能缺陷等等。

git并非专门给程序员管理代码用,也并非多人协作场景才需要用git。哪怕你自己写写日记,git都能带来巨大的帮助。

开始

假设你的远程仓库在自己的云服务器上。远程仓库推荐使用git用户ssh连接,不过要禁掉git用户的ssh登录。借助一个名为 git-shell 的受限 shell 工具,你可以方便地将用户 git 的活动限制在与 Git 相关的范围内。

vi /etc/passwd
#找到形如下面的行:
git:x:1002:1002::/home/git:/bin/bash
#修改成:
git:x:1002:1002::/home/git:/usr/bin/git-shell

1. step1 远程仓库初始化

在远程服务器上初始化一个裸仓库。

git init --bare test.git

或者从本地仓库初始化一个裸仓库,然后通过scp等copy到远程

git clone my_proj --bare my_proj.git

2. 推送本地项目

#进入本地目录
git init
git remote add origin ssh://git@{ip or domain}:{port}/{you git dir}
(删除:git remote remove origin)

git add .
git commit -m '{commit msg}'
#设置跟踪远程分支,以后直接git push、git pull即可
git push --set-upstream origin master

附:

#查看远程仓库url
git remote -v
#查看详细
git remote show {remote repository, e.g. origin} 


使用密钥(非必须)

每次push、pull都输入密码是难以忍受的,so我们需要使用密钥,一劳永逸。
自己生产密钥对(参考)。或者使用~/.ssh目录里已有的id_rsa,id_rsa.pub。

  • 把公钥放到服务器git用户.ssh目录下,then:
cat id_rsa.pub >> authenrized_keys
  • 如果你的私钥名就是默认的id_rsa,那么已经完成了。否则,修改~/.ssh/config文件(没有就新建),以更改ssh时使用的密钥文件。下面的host名必须和你的git连接的host一致,要么是ip,要么是域名。
Host xxxx
HostName xxxx
Port {port}
User {user}
IdentityFile ~/.ssh/{your key file}
目录
相关文章
|
3月前
|
缓存 网络安全 开发工具
极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目
极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目
164 0
|
2月前
|
开发工具 git
Git 如何将一个项目的代码放到一个新的仓库中,但不在新的仓库中显示旧的提交记录
Git 如何将一个项目的代码放到一个新的仓库中,但不在新的仓库中显示旧的提交记录
48 0
|
1月前
|
存储 网络安全 数据处理
git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理
git远程操作,推送【push】,拉取【pull】,忽略特殊文件,配置别名,标签管理
|
1月前
|
存储 Linux 开发工具
Python 进阶指南(编程轻松进阶):十二、使用 Git 组织您的代码项目
Python 进阶指南(编程轻松进阶):十二、使用 Git 组织您的代码项目
48 0
|
1月前
|
开发工具 git
git 如何为不同的项目设置不同的用户名和邮箱,用来区分个人仓库和公司仓库
git 如何为不同的项目设置不同的用户名和邮箱,用来区分个人仓库和公司仓库
21 0
|
1月前
|
开发工具 git 开发者
Git管理分支都有哪些,不同分支作用是什么?
在Git中,有多种类型的分支,每种分支都有不同的作用。以下是一些常见的Git分支以及它们的作用:
16 0
|
1月前
|
开发工具 git Python
Python 的软件开发实践:如何使用 Git 在团队中协同开发 Python 项目?
Python 的软件开发实践:如何使用 Git 在团队中协同开发 Python 项目?
|
1月前
|
项目管理 开发工具 git
|
2月前
|
开发工具 git
hbuilderX安装git插件→拉取线上gitlab项目
hbuilderX安装git插件→拉取线上gitlab项目
|
2月前
|
安全 开发工具 git
Git标签管理
Git标签管理
14 0

相关产品

  • 云迁移中心
  • 相关实验场景

    更多