当前位置: 代码迷 >> 综合 >> git 简单指令。提交本地到github 。git branch 操作
  详细解决方案

git 简单指令。提交本地到github 。git branch 操作

热度:51   发布时间:2023-12-08 05:12:12.0

出自:https://blog.csdn.net/u010869564/article/details/53308405

(需要在gitbash里面的指令操作由红颜色标出)

将本地文件上传至远程


浏览器操作:(此处上传是以https的开头的地址做例子,若是使用git需要配置public keys等信息。)

进入github .登入自己的账号。新建一个仓库。    点击   New repository (或者顶部的+的尖角处。新建)输入名字。为了方便。命名为和本地一样。gittest.你可以看到你新建成功以后它的提示操作(…or create a new repository on the command line)。一开始我的英文很差。直接选择了略过了这些操作。其实这边的操作就是已经说明了。

 1.git init

 2.  git add test.txt

 3.git remote add origin  地址

 4. git push -u origin master

   

本地盘操作:

类别1(提交新建文件。若提交以有文件夹。参看类别2:):在本地任何盘里面新建文件夹,随意命名如gittest。打开文件夹 。

新建任一文件如:test.txt (待上传的文件)

类别2::若提交当前文件下所有文件 。下面步骤中的git add 某个文件名。就是直接git add  .  )请不要忘了 .  其中最后的点。

git bash 中操作

右键 点击Git Bash  Here .输入指令 git init 【(题外话:如果你的文件夹已经设置了可以查看隐藏文件。可以看到已经生成了.git文件文件夹)若有兴趣。可以看看里面的config文件。随着你操作的一步一步进行。config里面 的配置将不断被修改。】

回到git bash 中。输入 git add test.txt 继续输入git commit  -m "你提交的备注"  。继续输入:(这时候这些其实就是在刚刚被我忽视的英文中。别忘了填备注)

PS:(若还没有设置自己的邮箱和用户名。此处会提示

git config --global user.email "you@example.com"

git config --global user.name "Your Name")依次设置输入你在github中的邮箱和用户名


git remote add origin  地址(请注意将地址拼接成以下格式   地址:是由https://github.com/你的用户名/刚建的仓库名)。如我的用户名是xiaoyaoyimei .刚建的仓库名是gittest.

所以此处的指令是 git remote add origin  https://github.com/xiaoyaoyimei/gittest

继续输入指令 git push -u origin master

回到浏览器中:从自己的头像点击  Your profile 进入自己的用户界面。点击gittest.可以看到已经上传成功test.txt.




--以下为建立分支合并分支操作

建立本地分支:git branch  分支名。假设分支名为 new 则 git branch new 查看分支git branch -a 其中所列项中带* 的为当前你所在的分支。你可以看到你当前所在为master分支。

1.在新分支 下操作

切换分支:git  checkout  new .(在本地操作新建new.txt)1.git add new.txt  2.git commit -m "new" 3.git push 当你输完git push以后。你会发现提示。git push --set-upstream origin new(刚刚我们看到的git branch -a中只有本地有分支new.而远程中并没有分支new。此句的含义是远程分支关联。它会自动建立远程分支new并且提交。)

-----------------{ {  题外话:

你可以打开上面所说的隐藏文件夹下面的config。我们看到多了
[remote "origin"]
    url = 
https://github.com/xiaoyaoyimei/gittest.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "new"]
    remote = origin
    merge = refs/heads/new

可以明显的看到 分支"new" 中的merge对应了refs/heads/new。可以查看分支关联git branch -vv。}}

2.切换到主分支master

可以输入git branch -a查看你所在的分支。切换分支。git checkout  master  继续输入git merge new(new 为刚刚的分支名)。此时只是合并了本地的。所以还需要git push。此时可以在浏览器中看到。刚刚new分支的new.txt 。已被提交到master中。

若你不需要这些分支了可以参考

删除本地分支:(已被合并过的分支是 git branch -d   new(分支名)   gitbash操作中会有相应的提示{若没有被merge 过则为git branch -D new })

删除远程分支:git push origin --delete  new(分支名)

备注若一条-则是d若两条--则指令为--delete.  有的指令有两种。有的指令有两种名字。有的只有一种。当你输错的时候会有提示。注意看下即可。顺便贴出我刚刚输出以后的提示。

  -v, --verbose         be more verbose
    -q, --quiet           be more quiet
    --repo <repository>   repository
    --all                 push all refs
    --mirror              mirror all refs
    -d, --delete          delete refs
    --tags                push tags (can't be used with --all or --mirror)
    -n, --dry-run         dry run
    --porcelain           machine-readable output
    -f, --force           force updates
    --force-with-lease[=<refname>:<expect>]
                          require old value of ref to be at this value
    --recurse-submodules[=<check|on-demand|no>]
                          control recursive pushing of submodules
    --thin                use thin pack
    --receive-pack <receive-pack>
                          receive pack program
    --exec <receive-pack>
                          receive pack program
    -u, --set-upstream    set upstream for git pull/status
    --progress            force progress reporting
    --prune               prune locally removed refs
    --no-verify           bypass pre-push hook
    --follow-tags         push missing but relevant tags
    --signed[=<yes|no|if-asked>]
                          GPG sign the push
    --atomic              request atomic transaction on remote side
    -o, --push-option <server-specific>
                          option to transmit
    -4, --ipv4            use IPv4 addresses only
    -6, --ipv6            use IPv6 addresses only

  相关解决方案