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

怎么把变更代码上传到git

发布时间: 2022-06-17 20:37:27

① 如何将本地代码上传至git仓库

注意:安装的前提条件是配置好Git的相关环境或者安装好git.exe,此处不再重点提及
上传的步骤:(本文采用git 命令界面进行操作)
( git config --global user.email "[email protected]"
git config --global user.name "Your Name")实现登陆
1.进入本地的项目目录,右键“Git Bash here”,调出git命令行界面,然后输入
[plain] view plain 在CODE上查看代码片派生到我的代码片
git init
2.就是将目录下的所有文件上传,也可以将“.”换成具体的文件名
[plain] view plain 在CODE上查看代码片派生到我的代码片
git add .
3.将项目提交到gitHub
[html] view plain 在CODE上查看代码片派生到我的代码片
git commit -m "注释语句"
4.在github上创建新的repository
5.点击 “Create repository”跳转到一个连接,如下红色圈获取到本项目的github地址
6.将本地的代码关联到github上
[html] view plain 在CODE上查看代码片派生到我的代码片
git remote add origin 项目的github地址
7.上传代码到github之前需要先pull
[plain] view plain 在CODE上查看代码片派生到我的代码片
git pull origin master
8.上传代码到远程仓库
[plain] view plain 在CODE上查看代码片派生到我的代码片
git push -u origin master
之后输入账号,密码,上传到github

② 如何上传代码到github

注册GitHub后你就会有0.3G的免费空间,不过只能创建公开项目,这也满足代码分享的目的,我最喜欢的倒是它的代码展示方式,可以直接浏览你的代
码,代码是经过高亮、添加行号处理过的,十分漂亮,体验一流,比如这个Webpy托管的地方。而作为想要了解你代码的人,可以选择直接在线浏览自己感兴趣
的,也可以直接下载压缩包,或者直接使用Git clone到本地。
因为GitHub是基于Git版本控制系统,所以你上传修改代码什么的,都需
要使用Git工具。我这里主要是用来分享和展示代码,所以不想在版本控制方面做过多的阐述,下面就简单讲解一下怎么在GitHub上新建一个项目,还有把
自己的代码传上去。下面的前提是你已经注册了GitHub和下载安装了Git——Git下载、Windows版本下载。
上传分享代码
1.在GitHub上建立项目

录GitHub后,你可以在右边靠中那里找到一个按钮“New
Repository”,点击过后,填入项目名称、说明和网址过后就可以创建了,然后会出现一个提示页面,记下类似
[email protected]:XXX/XXX.git的地址,这个就是你这个项目的地址了。
2.配置Git以及上传代码
安装Git成功后,如果是Windows下,选择Git Bash,在命令行中完成一切,可能开始有点麻烦,不过就那几条命令行,用几次就记住啦。首先初始设置Git:
1 git config --global user.name "Your Real Name" 2 git config --global user.email [email protected]

然后开始进行最麻烦的一步了,你需要上传文件到GitHub的Git系统上,得需要一个SSH密匙来认证,下面就开始生成密钥和提交密钥。打开Git Bash,创建SSH key:
1 ssh-keygen -C '[email protected]' -t rsa


后要你输入SSH密匙的存放位置,可以不管,直接回车使用默认路径。再输入你想要的密码,SSH
key就生成了。现在你需要将这个Key提交到GitHub,首先打开Key保存的位置,里面会有三个文件,找到id_rsa.pub,用文本编辑器打
开,复制里面的全部字符。到GitHub,在右上方工具栏里找到Account Settings。在这个页面上有一个SSH Public
Keys标签,选择Add another public key。Title可以随便填一个,Key就粘贴刚才的字符,提交。
完成这些工作后,就可以上传自己的代码了。找到自己要分享上传的代码文件夹,右击选择Git Bash,或者在Git Bash中进入这个文件夹。建立一个仓库:
1 git init

选择要添加进仓库的文件:
1 git add .

一般如果你想分享这个文件夹里的所有代码,就在 add后面加“.”,上面的例子就是这样,如果传指定的,只需要把“.”改为文件名即可,现在只是选择了要加入仓库的文件,下面才是添加进入仓库:
1 git commit -m 'Test'

-m后面跟一个参数,表示说明,将代码提交到GitHub后,将会在代码文件信息上显示这个说明,如下图标记的地方。
搞了这么久,现在才开始把本地仓库上传到GitHub了,下面两行命令搞定问题:
1 2 git remote add origin [email protected]:XXX/XXX.git 3 git push -u origin master

这个[email protected]:XXX/XXX.git就是上面创建项目是生成的地址。现在打开你的项目网址,你就可以发现你的代码已经展示出来了。如果你要更新代码的话,就重复上面的吧。

果提交了敏感信息,比如代码中设置的自己的密码什么的忘删除就上传上去了怎么办?重新修改过后上传依然有历史记录,而使用Git删除历史记录貌似很麻烦,
于是就采用删除项目吧,删除了再重新上传。删除项目需要在GitHub网站上右上方找到admin按钮,进去后右边最下面有个删除的按钮,这样就可以删除
了。
一些可能遇到的问题解决:
如果输入$ git remote add origin [email protected]:djqiang(github帐号名)/gitdemo(项目名).git
提示出错信息:fatal: remote origin already exists.
解决办法如下:
1、先输入$ git remote rm origin
2、再输入$ git remote add origin [email protected]:djqiang/gitdemo.git 就不会报错了!
3、如果输入$ git remote rm origin 还是报错的话,error: Could not remove config section ‘remote.origin’. 我们需要修改gitconfig文件的内容
4、找到你的github的安装路径,我的是C:\Users\ASUS\AppData\Local\GitHub\PortableGit_\etc
5、找到一个名为gitconfig的文件,打开它把里面的[remote "origin"]那一行删掉就好了!
如果输入$ ssh -T [email protected]
出现错误提示:Permission denied (publickey).因为新生成的key不能加入ssh就会导致连接不上github。
解决办法如下:
1、先输入$ ssh-agent,再输入$ ssh-add ~/.ssh/id_key,这样就可以了。
2、
如果还是不行的话,输入ssh-add ~/.ssh/id_key 命令后出现报错Could not open a connection to
your authentication agent.解决方法是key用Git
Gui的ssh工具生成,这样生成的时候key就直接保存在ssh中了,不需要再ssh-add命令加入了,其它的user,token等配置都用命令行
来做。
3、最好检查一下在你复制id_rsa.pub文件的内容时有没有产生多余的空格或空行,有些编辑器会帮你添加这些的。
如果输入$ git push origin master
提示出错信息:error:failed to push som refs to …….
解决办法如下:
1、先输入$ git pull origin master //先把远程服务器github上面的文件拉下来
2、再输入$ git push origin master
3、
如果出现报错 fatal: Couldn’t find remote ref master或者fatal: ‘origin’ does not
appear to be a git repository以及fatal: Could not read from remote
repository.
4、则需要重新输入$ git remote add [email protected]:djqiang/gitdemo.git
使用git在本地创建一个项目的过程
$ makdir ~/hello-world //创建一个项目hello-world
$ cd ~/hello-world //打开这个项目
$ git init //初始化
$ touch README
$ git add README //更新README文件
$ git commit -m ‘first commit’ //提交更新,并注释信息“first commit”
$ git remote add origin [email protected]:defnngj/hello-world.git //连接远程github项目
$ git push -u origin master //将本地项目更新到github项目上去

③ 如何将本地的代码上传到github

首先你需要一个github账号,所有还没有的话先去注册吧!

https://github.com/

我们使用git需要先安装git工具,这里给出下载地址,下载后一路直接安装即可:

https://git-for-windows.github.io/

1.进入Github首页,点击New repository新建一个项目

2.填写相应信息后点击create即可

Repository name: 仓库名称

Description(可选): 仓库描述介绍

Public,Private: 仓库权限(公开共享,私有或指定合作者)

Initialize this repository with a README: 添加一个README.md

gitignore: 不需要进行版本管理的仓库类型,对应生成文件.gitignore

license: 证书类型,对应生成文件LICENSE

④ 如何将代码上传到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 即可查看远程所有的版本信息

⑤ 如何将自己写的代码上传到github上

①首先注册github账号,登录,创建新仓库
,点击+,点击new repository



得到如下页面,填写仓库名,自己随便写一个名字,下面的描述可写可不写,点击Initialize this repository with a README,然后创建:


6.在此处打开git bash,输入如下命令:
git init
git add "文件名"
git commit -m "文件名"
如果出现让你设置用户名和用户邮箱的提示,就按照提示上给的命令输入即可。后再次执行上面commit的命令。


git remote add origin https://github.com/zhangsiyao11/chat http为你自己仓库的地址
如果出现错误:
fatal: remote origin already exists
则执行以下语句:
git remote rm origin
再执行git remote add origin https://github.com/zhangsiyao11/chat即可。


git pull origin master
git push origin master


完成,再打开自己的仓库就会出现刚刚上传的项目文件:




终于写完了,希望对大家有所帮助。

⑥ 怎样将svn库中的代码迁移到git库

下面开始我们的学习:
1.Git安装(略)。
2.创建版本库
首先,选择一个合适的地方(我选择了D盘,我的电脑是Win 7),常见一个空目录:

$ mkdir Git
$ cd Git
$ pwd//显示当前的路径
/d/Git

注:Windows下,路径名不要包含中文,因为Git对中文支持不给力!
第二步,通过git init命令把这个目录变成Git可以管理的仓库:

1
2

$ git init
Initialized empty Git repository in /d/Git/.git/

这样就创建了你的Git仓库。
接下来,我们上传一个文件到Git。编辑一个readme.txt文件,内容如下:

Git is a distributed version control system.
Git is free software distributed under the GPL.
Git has a mutable index called stage.
Git tracks changes of files.

将其放到/d/Git目录下,因为这是一个Git仓库,放到其他地方Git再厉害也找不到这个文件。
将一个文件放到Git仓库需要两步:
(1)使用git add将文件添加到仓库:

1

$ git add readme.txt

(2)使用git commit将文件提交到仓库:

git commit -m "wrote a readme file"
[master 48b9a84] wrote a readme file
1 file changed, 2 insertions(+)

注:git commit命令,-m后面输入的是本次提交的说明,可以输入任意内容,当然最好是有意义的,这样你就能从历史记录里方便地找到改动记录。
commit可以一次提交多个文件:

$ git add file1.txt
$ git add file2.txt
$ git add file3.txt
$ git commit -m "add 3 files."

3.Git的命令很多,下面再学习几个吧!
继续修改readme.txt文件:

Git is a distributed version control system.
Git is free software.

git status命令看看结果:

$ git status
# On branch master
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: readme.txt
#
no changes added to commit (use "git add" and/or "git commit -a")

git status查看仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。
虽然Git告诉我们readme.txt被修改了,但如果能看看具体修改了什么内容,自然是很好的。比如你休假两周从国外回来,第一天上班时,已经记不清上次怎么修改的readme.txt,所以,需要用git diff这个命令看看:

1
2
3
4
5
6
7
8
9

$ git diff readme.txt
diff --git a/readme.txt b/readme.txt
index 46d49bf..9247db6 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,2 +1,2 @@
-Git is a version control system.
+Git is a distributed version control system.
Git is free software.

git diff查看不同!
在工作中,我们可能提交了几千个文件,如果想看历史记录,可以使用git log命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

$ git log
commit
Author: Michael Liao <[email protected]>
Date: Tue Aug 20 15:11:49 2013 +0800

append GPL

commit
Author: Michael Liao <[email protected]>
Date: Tue Aug 20 14:53:12 2013 +0800

add distributed

commit
Author: Michael Liao <[email protected]>
Date: Mon Aug 19 17:51:55 2013 +0800

wrote a readme file<br>………………………………………………………………………………<br>………………………………………………………………………………

commit
Author: lixiaolun <[email protected]>
Date: Thu Jan 15 22:06:05 2015 +0800
wrote a readme file
(END)
注:最后你可能会碰到这个(END),此后你怎么点都没有用。那么现在你要输入:wq或:q退出。这个命令同linux指令。
git log命令显示从最近到最远的提交日志。如果嫌输出信息太多,看得眼花缭乱的,可以试试加上
--pretty=oneline参数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

$ git log --pretty=oneline
commit a file readme
text1.txt commit
wrote a readme file
2015-1-30 upload
local_gitgub
remove text1.txt
remove text.txt
add test.txt
git tracks changes
add 3 text.txt
understand how stage
modify reamde.txt
add a new word distr
wrote a readme file

友情提示:你看到的一大串类似3628164...882e1e0的是commit id(版本号),和SVN不一样,Git的commit id不是1,2,3……递增的数字,而是一个SHA1计算出来的一个非常大的数字,用十六进制表示。
时光穿梭之版本回退!!
如果你提交的一个文件,发现还不如你你上一个版本好,赶紧回退!怎么做呢?
首先,Git必须知道当前版本是哪个版本,在Git中,用HEAD表示当前版本,也就是最新的提交3628164...882e1e0(注意我的提交ID和你的肯定不一样),上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100。
回退到上一个版本的命令git reset:

1

$ git reset --hard HEAD^

--hard参数有啥意义?这个后面再讲,现在你先放心使用。
查看文件命令cat readme.txt:

1
2
3

$ cat readme.txt
Git is a distributed version control system.
Git is free software distributed under the GPL.

git reflog记录了每一次命令:

$ git reflog
ea34578 HEAD@{0}: reset: moving to HEAD^
3628164 HEAD@{1}: commit: append GPL
ea34578 HEAD@{2}: commit: add distributed
cb926e7 HEAD@{3}: commit (initial): wrote a readme file

前面的数字是commit id。知道commit id可以回退上一次执行的命令,回退命令为git reset --hard <commit id>:

1

$ git reset --hard 3628164

⑦ 如何在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