当前位置:首页 » 文件传输 » git的上传
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

git的上传

发布时间: 2022-10-03 09:20:44

A. 如何由本机向github利用git上传文件

下面给出具体的上传步骤:

B. 如何在Git上上传代码

注册账户以及创建仓库

要想使用github第一步当然是注册github账号了。之后就可以创建仓库了(免费用户只能建公共仓库),Create a New Repository,填好名称后Create,之后会出现一些仓库的配置信息,这也是一个git的简单教程。步骤如下:

打开https://github.com直接在首页上注册

2)上传到github

$ git push origin master

git push命令会将本地仓库推送到远程服务器。

git pull命令则相反。

注:首次提交,先git pull下,修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件。

大功告成,现在你知道如何将本地的项目提交到github上了。

gitignore文件

.gitignore顾名思义就是告诉git需要忽略的文件,这是一个很重要并且很实用的文件。一般我们写完代码后会执行编译、调试等操作,这期间会产生很多中间文件和可执行文件,这些都不是代码文件,是不需要git来管理的。我们在git status的时候会看到很多这样的文件,如果用git add -A来添加的话会把他们都加进去,而手动一个个添加的话也太麻烦了。这时我们就需要.gitignore了。

Git命令

查看、添加、提交、删除、找回,重置修改文件

git help <command> # 显示command的helpgit show # 显示某次提交的内容 git show $idgit co -- <file> # 抛弃工作区修改git co . # 抛弃工作区修改git add <file> # 将工作文件修改提交到本地暂存区git add . # 将所有修改过的工作文件提交暂存区git rm <file> # 从版本库中删除文件git rm <file> --cached # 从版本库中删除文件,但不删除文件git reset <file> # 从暂存区恢复到工作文件git reset -- . # 从暂存区恢复到工作文件git reset --hard # 恢复最近一次提交过的状态,即放弃上次提交后的所有本次修改git ci <file> git ci . git ci -a # 将git add, git rm和git ci等操作都合并在一起做git ci -am "some comments"git ci --amend # 修改最后一次提交记录git revert <$id> # 恢复某次提交的状态,恢复动作本身也创建次提交对象git revert HEAD # 恢复最后一次提交的状态


查看文件diff

git diff <file> # 比较当前文件和暂存区文件差异 git diffgit diff <id1><id2> # 比较两次提交之间的差异git diff <branch1>..<branch2> # 在两个分支之间比较git diff --staged # 比较暂存区和版本库差异git diff --cached # 比较暂存区和版本库差异git diff --stat # 仅仅比较统计信息




查看提交记录

git log git log <file> # 查看该文件每次提交记录git log -p <file> # 查看每次详细修改内容的diffgit log -p -2 # 查看最近两次详细修改内容的diffgit log --stat #查看提交统计信息


tig
Mac上可以使用tig代替diff和log,brew install tig


Git 本地分支管理
查看、切换、创建和删除分支

git br -r # 查看远程分支git br <new_branch> # 创建新的分支git br -v # 查看各个分支最后提交信息git br --merged # 查看已经被合并到当前分支的分支git br --no-merged # 查看尚未被合并到当前分支的分支git co <branch> # 切换到某个分支git co -b <new_branch> # 创建新的分支,并且切换过去git co -b <new_branch> <branch> # 基于branch创建新的new_branchgit co $id # 把某次历史提交记录checkout出来,但无分支信息,切换到其他分支会自动删除git co $id -b <new_branch> # 把某次历史提交记录checkout出来,创建成一个分支git br -d <branch> # 删除某个分支git br -D <branch> # 强制删除某个分支 (未被合并的分支被删除的时候需要强制)



分支合并和rebase

git merge <branch> # 将branch分支合并到当前分支git merge origin/master --no-ff # 不要Fast-Foward合并,这样可以生成merge提交git rebase master <branch> # 将master rebase到branch,相当于: git co <branch> && git rebase master && git co master && git merge <branch>



Git补丁管理(方便在多台机器上开发同步时用)

git diff > ../sync.patch # 生成补丁git apply ../sync.patch # 打补丁git apply --check ../sync.patch #测试补丁能否成功




Git暂存管理

git stash # 暂存git stash list # 列所有stashgit stash apply # 恢复暂存的内容git stash drop # 删除暂存区Git远程分支管理

git pull # 抓取远程仓库所有分支更新并合并到本地git pull --no-ff # 抓取远程仓库所有分支更新并合并到本地,不要快进合并git fetch origin # 抓取远程仓库更新git merge origin/master # 将远程主分支合并到本地当前分支git co --track origin/branch # 跟踪某个远程分支创建相应的本地分支git co -b <local_branch> origin/<remote_branch> # 基于远程分支创建本地分支,功能同上



git push # push所有分支

git push origin master # 将本地主分支推到远程主分支git push -u origin master # 将本地主分支推到远程(如无远程主分支则创建,用于初始化远程仓库)git push origin <local_branch> # 创建远程分支, origin是远程仓库名git push origin <local_branch>:<remote_branch> # 创建远程分支git push origin :<remote_branch> #先删除本地分支(git br -d <branch>),然后再push删除远程分支




Git远程仓库管理

git remote -v # 查看远程服务器地址和仓库名称git remote show origin # 查看远程服务器仓库状态git remote add origin git@ github:robbin/robbin_site.git # 添加远程仓库地址git remote set-url origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址(用于修改远程仓库地址) git remote rm <repository> # 删除远程仓库



创建远程仓库

git clone --bare robbin_site robbin_site.git # 用带版本的项目创建纯版本仓库scp -r my_project.git git@ git.csdn.net:~ # 将纯仓库上传到服务器上mkdir robbin_site.git && cd robbin_site.git && git --bare init # 在服务器创建纯仓库git remote add origin git@ github.com:robbin/robbin_site.git # 设置远程仓库地址git push -u origin master # 客户端首次提交git push -u origin develop # 首次将本地develop分支提交到远程develop分支,并且trackgit remote set-head origin master # 设置远程仓库的HEAD指向master分支




也可以命令设置跟踪远程库和本地库

git branch --set-upstream master origin/master

git branch --set-upstream develop origin/develop

C. 如何用git把代码上传到服务器

如你本机新建Git项目 地址:[email protected]:yourName/yourRepo.git,远程代码库服务器地址:192.168.10.1,远程代码服务器账户名密码:admin 密码:123456
1.首先确保配置正确
a. 创建本地ssh-key
$ ssh-keygen -t rsa
在~/.ssh/下会生成 id_rsa.pub密钥文件
b.上传密钥文件 id_rsa.pub到代码服务器
$cat /home/XXXX/.ssh/id_rsa.pub | ssh [email protected] "cat >> ~/.ssh/authorized_keys"

会提示输如代码服务器密码,输入密码:123456即可。
c.添加全局变量:
$ git config –-global user.name ‘yourName’
$ git config –-global user.email ’[email protected]
2.进入要上传的git项目
$ git remote add origin [email protected]:yourName/yourRepo.git
之后进入.git,打开config,这里会多出一个remote “origin”内容,这就是刚才添加的远程地址,也可以直接修改config来配置远程地址。
3.提交、上传
a.接下来在本地仓库里添加一些文件,比如README,
$ git add README
$ git commit -m "first commit"
b.上传到代码服务器:
$ git push origin master
git push命令会将本地仓库推送到远程服务器。
git pull命令则相反。
修改完代码后,使用git status可以查看文件的差别,使用git add 添加要commit的文件,也可以用git add -i来智能添加文件。之后git commit提交本次修改,git push上传到代码服务器。

D. windows使用git上传代码到Github

            1. 右键-> Git Bash Here 

            2. 需要配置ssh 命令: ssh-keygen -t rsa -C "[email protected]"  

            3. 默认上次回车就好,出现如下界面即生成了ssh密钥

            4.记事本打开下图中的密钥路径文件,复制里面的密钥

            5.在github上配置密码

 6. 检测配置是否能成功 git输入: ssh -T [email protected] ,如果第二次配置我们输入yes就好,看到success就成功了

         git config --global user.name "your name"  注册时填写的名字

         git config --global user.email "[email protected]"  自己的邮箱

        1.先创建一个文件夹,进入文件,右键进入git bash命令行

        2.通过命令 git init 把这个文件夹变成Git可管理的仓库(这个时候会现在文件夹下多了一个.git文件夹。它是Git用来跟踪和管理版本库的。如果看不到,是因为它默认是隐藏文件,需要设置一下让隐藏文件可见)

        3. 把项目复制过来,然后通过git add 命令把项目添加到仓库( git add . 把该目录下的所有文件添加到仓库,注意点是用空格隔开的)

        4.用 git commit -m "first commit" 把项目提交到仓库(引号是提交的日志)

        可能出现下面报错:

        先移除,执行命令: git remote rm origin

        再次添加: git remote add origin [email protected]:Knight-RS/CodeSmell.git

        通过 git push -u origin master 命令;

        可能出现问题,例如上面这个错误:这是由于你新创建的那个仓库里面的README文件不在本地仓库目录中,这时我们可以通过以下命令先  将内容合并  git pull --rebase origin master ,再使用 git push -u origin master 提交。

E. 如何通过git把本地的代码上传到服务器

1、首先需要安装Git,如果已经安装,请跳过。由于Git是Linux开发的,所以大部分使用在Linux系统上,但肯定会有windows版的,我本身使用的是win10,下载安装即可:https://git-for-windows.github.io/

2、安装好git服务器后。首先找到你项目的文件夹,比如项目名称为myproject,进入到这个文件夹,右键打开模拟linux风格的命令窗口

接下来依次执行命令:

git init // 初始化版本库git add . // 添加文件到版本库(只是添加到缓存区),.代表添加文件夹下所有文件 git commit -m "first commit" // 把添加的文件提交到版本库,并填写提交备注12345

到目前为止,我们完成了代码库的初始化,但代码是在本地,还没有提交到远程服务器,所以关键的来了,要提交到就远程代码服务器,进行以下两步:

git remote add origin 你的远程库地址 // 把本地库与远程库关联git push -u origin master // 第一次推送时git push origin master // 第一次推送后,直接使用该命令即可推送修改12345

把本地库的内容推送到远程。使用 git push命令,实际上是把当前分支master推送到远程。执行此命令后会要求输入用户名、密码,验证通过后即开始上传。
说明:用户名密码需要通过命令 ssh-keygen -t rsa -C “[email protected]”进行创建,并且要把得到的秘钥(公钥)文件放到git服务器上,这样才有权限进行代码推送

到此就成功的把本地的代码放到了远程服务器上,这样就能让项目组成员进行写作开发了。

F. 如何将代码上传到git服务器上

1、本地公钥的获取,

cd ~/.ssh

ls

使用指令ssh-keygen,生产公钥,第一个提示时输入文件(默认是id_rsa),第二个提示时输入的是密钥,

公钥放置在id_rsa.pub文件中。

2、按照code的提示,进行代码上传。

2.1 建立一个git文件件,比如git_csdn ,

2.2 git init,建仓操作,

2.3 可以新建一个readme.md,touch README.md

2.4git add.添加所有文件,git add file,添加file,比如git add README

2.5git commit -m "first commit"

2.6git remote add origin git @ url 地址

2.7git push -u origin master

3、git clone 地址

4、git remote不带参数,列出已经存在的远程分支

$ git remote

origin

5、配置:

$ git config --global user.name "John Doe"

$ git config --global [email protected]

出现的问题:Updates were rejected because the tip of your current branch is behind

有如下几种解决方法:
1.使用强制push的方法:
$ git push -u origin master -f
这样会使远程修改丢失,一般是不可取的,尤其是多人协作开发的时候。
2.push前先将远程repository修改pull下来
$ git pull origin master
$ git push -u origin master
3.若不想merge远程和本地修改,可以先创建新的分支:
$ git branch [name]
然后push
$ git push -u origin [name]

分支管理:

1、创建分支: git branch new_branch

2、查看分支:git branch

3、删除分支:git branch -d new_branch

4、切换分支:git checkout new_branch

5、创建分支并切换分支: git checkout -b new_branch即可在本地新建分支,并使用该分支track远程分支

6、提交并推送分支:

git add .

git commit -m "xxx"

git push -u origin new_branch

7、删除远程分支:git push origin --delete new_branch

8、合并分支: git merge new_branch

9、将本地更新上传到远程分支上:

例如本地新建或是更新了内容newfile.c文件,

首先git add newfile.c,

然后git commit -m "add new file",

紧接着git push 本地分支名 远程分支名即可将本地分支更新到远程分支。

10.获取远程分支

git fetch 从远程获取其他用户push上来的新分支

git remote -v 即可查看远程所有的版本信息