上传项目到GitHub
岁月如梦 Lv4

linux上传项目到github,及一些git命令

打开github,找到头像->setting->SSH and GPG keys->new SSH key
创建一个新项目(名字和本地项目相同),

1.在github创建空仓库(如gitcode).

步骤一:首先在用户右侧的‘+’下选择新储存库新建项目。如图一:

image

然后自定义新项目的名称和对新项目的描述,并确定新建该项目。如图二:

image

步骤二:点击图三蓝色圈圈里的图标进行复制链接,并在Linux上执行git clone+链接(用shift+insert进行拷贝)。

image

2.在linux上安装git:

安装git:

1
yum install git

3.linux配置GitHub:

绑定GitHub用户:

1
2
git config --global user.name "XXX"
git config --global user.email "xxx@xxx.com"

查看git配置:

1
git config --list

为GitHub账户设置SSH key

1
2
(1)检查是否有SSH key:cd ~/.ssh
(2)生成SSH key:ssh-keygen -t rsa -C "your_email@youremail.com"
1
2
3
4
5
6
7
Generating public/private rsa key pair.
Enter file in which to save the key (/home/you/.ssh/id_rsa): 默认回车
Enter passphrase (empty for no passphrase):默认回车
Enter same passphrase again: 默认回车
Your identification has been saved in /home/XXX/.ssh/id_rsa.
Your public key has been saved in /home/XXX/.ssh/id_rsa.pub.
The key fingerprint is: XXX

(3)添加SSH公钥到GitHub:
在GitHub设置内找到添加SSH,将id_rsa.pub内容复制到key中【复制时注意空格】
image
(4)测试是否连接成功ssh -T git@github.com
image

4.在linux创建和仓库同名的文件夹并初始化:

进入你想要上传的目录,然后把这个目录变成git可以管理的仓库 git init

1
2
3
mkdir /gitcode
cd /gitcode
git init

Git仓库和本地仓库进行关联

在本地仓库的命令行输入:

1
2
 git remote add origin https://github.com/fgguo/gitcode.git
origin后面为git项目的地址。

5.添加文件

1
2
git add fdw_adapter src
(如果是所有项目就是git add .)

将文件添加到仓库并查看当前工作区(相当于缓存区)的状态
添加文件:git add XXX
查看缓存区的内容:git status

image

6.提交备注

1
2
git commit -m 'first commit'
这里提交备注

7.推送本地项目到github

git push -u origin master

由于新建的远程仓库是空的,所以要加上-u这个参数,等远程仓库里面有了内容之后,下次再从本地库上传内容的时候只需下面这样就可以了。
上传项目的过程可能需要等一段时间.

这里可能踩坑

  1. 超时
    image
    处理方法

  2. 输入git密码不行,需要自己去生成token
    image
    处理方法

这时候你再重新刷新你的Github页面进入刚才新建的那个仓库里面就会发现项目已经成功上传了:

8.查看以前的commit

1
git log --oneline

9.添加tag

1
2
git tag -a v1.0.1 8a5cbc2
(commit的标识代码)

10.查看tag

git tag

11.push 到github

1
git push origin tag名

12.本地创建并切换分支

1
git checkout -b 本地分支

13.push到远端与原来不同的新分支

1
2
3
git push origin 本地分支:远端的分支
如果是同名,则
git push -u origin <本地分支名>

到目前为止,你已经把你想上传的文件放到本地仓库上了,也已经把本地仓库和远程仓库连起来了,现在需要把文件从本地仓库push到远程仓库git push origin master

image

Tips1:通常在Linux上init后主分支是master,而GitHub上新建的仓库,默认主分支是main,所以直接push过去,会默认在GitHub远程仓库创建master分支
解决办法:
将本地的master分支改名为main分支;
或 push的时候指明git push origin master:main
image

Tips2:查看目前已经关联的远程仓库:git remote
image

Tips3:通常在GitHub端创建好仓库后会有license和readme文件,这时如果直接将本地仓库push到远程仓库就会出问题,因为远程已经有东西了,而这个东西你本地还没有,所以你需要先把远程仓库先pull到本地,然后再一块push过去
git pull origin main
git push origin main
image

14.有大文件时,通过提示,先物理删除,然后git rm 在仓库删除,然后在git commit

15.拉取远端代码:

1
2
3
4
5
6
7
8
9
10
11
12
git  pull     
从远程拉取最新版本 到本地 自动合并 merge
git pull origin master

git fetch
从远程获取最新版本 到本地 不会自动合并 merge
git fetch origin master
git log -p master ../origin/master
git merge orgin/master

实际使用中 使用git fetch 更安全
在merge之前可以看清楚 更新情况 再决定是否合并

上述都是基本操作,如果你需要更高级的操作或者对命令理解的更为透彻,建议看git教程
参考:
https://www.yiibai.com/git/git_remote.html
https://blog.csdn.net/hxf0663/article/details/79527453
https://www.jianshu.com/p/ad148fda5860
https://blog.csdn.net/weixin_33755557/article/details/86217211ickoak/article/details/115579689

 请作者喝咖啡
 评论
评论插件加载失败
正在加载评论插件