出自: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"
)依次设置输入你在github中的邮箱和用户名git config --global user.name "Your Name"
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