Git将本地文件夹添加到远程仓库

我们有时候需要把本地开发的项目代码暂存到github,我们不可能一个文件一个文件的去提交修改,于是我们就需要一下把整个文件夹都添加到仓库,并推送到github上,下面就如何推送文件夹进行一步步实现

通过git init命令把这个目录变成Git可以管理的仓库:

$ git init
Initialized empty Git repository in C:/Users/****/Desktop/video-addLinklist/.git/

用命令git add .告诉Git,把文件夹所有文件添加到仓库:

// 他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改
// (modified)以及新文件(new),但不包括被删除的文件。
git add .

添加完成后进行提交

$ git commit -m "add all file"

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

现在去github建立一个新的仓库用于保存你将要推送的工程文件,注意不要默认建立readme文件,否则后面会出错,错误我会放在后面说;
在这里插入图片描述
现在我们可以来关联远程仓库了,方便后面提交文件到github

$ git remote add origin [email protected]:starfishing/learngit.git

请千万注意,把上面的starfishing替换成你自己的GitHub账户名,后面为你刚刚自己创建的仓库名,一定要一 一对应,否则无法推送。
添加后,远程库的名字就是origin,这是Git默认的叫法,也可以改成别的,但是origin这个名字一看就知道是远程库。
下一步,就可以把本地库的所有内容推送到远程库上:

$ git push -u origin master

要关联一个远程库,使用命令git remote add origin git@server-name:path/repo-name.git

关联后,使用命令git push -u origin master第一次推送master分支的所有内容;

此后,每次本地提交后,只要有必要,就可以使用命令git push origin master推送最新修改;


补充:

readme问题

如果你新建仓库的时候创建了readme文件,不应担心,也是可以正常推送的,只不过要用强制推送命令,因为你本地的工程文件中并不包含readme,所以需要强制推送

git push -f origin master

注释: origin远程仓库名,master分支名,-f为force,意为:强行、强制。

add命令的使用

git add 文件名:将修改的文件添加到缓存区
git add . :他会监控工作区的状态树,使用它会把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件。

git add -u :他仅监控已经被add的文件(即tracked file),他会将被修改的文件提交到暂存区。add -u 不会提交新文件(untracked file)。(git add --update的缩写)

git add -A :是上面两个功能的合集(git add --all的缩写)
git add * : Ant风格添加修改

文件更改后使用git status命令查看仓库当前状态,被修改的文件名

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 diff

使用git diff查看修改的内容

$ 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.

猜你喜欢

转载自blog.csdn.net/qq_34803821/article/details/86648313
今日推荐