使用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}
目录
相关文章
|
1天前
|
开发工具 git
使用Git拉取项目
使用Git拉取项目
|
23天前
|
存储 开发工具 git
好的git管理方法,标明项目_编号_(功能,不过还是在没有bug出现时就提交为好)+Excel表管理的格式
好的git管理方法,标明项目_编号_(功能,不过还是在没有bug出现时就提交为好)+Excel表管理的格式
|
1月前
|
网络安全 开发工具 git
git项目提交到远程仓库
git项目提交到远程仓库
21 2
|
1月前
|
Shell 测试技术 网络安全
【GIT】如何在GitHub上向一个开源项目贡献代码?
【GIT】如何在GitHub上向一个开源项目贡献代码?
31 5
|
14天前
|
开发工具 git
在idea里如何实现Git项目回滚
在idea里如何实现Git项目回滚
|
1月前
|
开发工具 git
git项目迁移
git项目迁移
20 2
|
24天前
|
开发工具 数据安全/隐私保护 git
为了方便项目打包,我用Node写了个git-tag工具
为了方便项目打包,我用Node写了个git-tag工具
24 0
|
1月前
|
缓存 项目管理 开发工具
Git项目管理——提交项目和版本回退(二)
Git项目管理——提交项目和版本回退(二)
35 2
|
28天前
|
开发工具 git
大事件项目66-----项目中git的管理使用
大事件项目66-----项目中git的管理使用
|
1月前
|
开发工具 git
MAC如何使用Git命令行上传本地项目及理解,failed to push some refs to ‘https://gitee.com/brother-barking/spxx.git
MAC如何使用Git命令行上传本地项目及理解,failed to push some refs to ‘https://gitee.com/brother-barking/spxx.git