Git相关操作

背景

上传本地项目到 github或公司私有服务器中,便于代码的存储、协同操作,步骤如下:

1
2
3
4
ssh-keygen -t rsa -C "wuxiangji@tucodec.com" 
# 上述命令会在用户主目录的.ssh目录下,生成id_rsa(私钥)和id_rsa.pub(公钥)
# 登陆Git,将公钥添加到“Account settings”,“SSH Keys”即可
# Git的ssh key本质上就是建立了本机与服务器的连接,而且免去了以后输入密码的烦恼

git为不同的项目设置不同的用户名

1
2
3
4
5
# cd 项目跟目录
git init # 建立本地git仓库
git config user.name "gitlab's Name"
git config user.email "gitlab@xx.com"
git config --list # 查看当前配置, 在当前项目下面查看的配置是全局配置+当前项目的配置, 使用的时候会优先使用当前项目的配置

配置多账户ssh key

在 ~/.ssh 目录下新建一个config文件

1
2
3
4
5
6
7
8
9
10
11
Host 192.28.1.81
HostName 192.28.1.81
Port 2222
User Xiangji_WU
IdentityFile ~/.ssh/id_rsa_xxx

Host 192.28.1.83
HostName 192.28.1.83
Port 2222
User Xiangji_WU
IdentityFile ~/.ssh/id_rsa_yyy

使用命令行进行上传

1
2
3
4
5
6
7
# cd 项目跟目录
git init # 建立本地git仓库
git add .
git commit -m "first commit"
git remote add origin git@github.com:Wxjwjj/Facial-Landmark.git # 关联某个远程库
git pull origin master # 要取回origin主机的分支,与本地的master分支合并
git push -u origin master # 第一次推送master分支的所有内容

使用命令行进行代码更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
git status 					# 查看当前的git仓库状态
git diff readme.txt # 查看修改后的readme.txt和之前的区别
git add readme.txt # 文件添加到暂存区 注意每次修改,如果不add到暂存区,那就不会加入到commit中
git commit -m "更新说明" # 暂存区的内容提交到当前master分支
git log --pretty=oneline # 查看一共提交了多少版本
git reflog # 查看命令历史
git reset --hard head^
# HEAD指向的版本就是当前版本,当要在多个版本的历史之间穿梭,使用命令 git reset --hard commit_id
git reset HEAD readme.txt # 已经添加到暂存区的修改
git checkout -- readme.txt # 进撤销工作区内容的修改
git checkout -- readme.txt # rm指令误删的文件可以从版本库中进行恢复
git rm readme.txt # 从版本库中彻底删除,并且要进行commit
git commit -m "remove test.txt"
git pull # 当前分支自动与唯一一个追踪分支进行合并
git push origin master