下面使用示例,演示如何新建GitHub远程仓库?Git提交代码到GitHub?又如何从GitHub获取代码到本地?
1. GitHub新建远程仓库
登陆 GitHub账号,左上角 Repositories 点击 New,新建一新仓库。
填入仓库信息。
- Owner 选择所有者,即管理人。
- Repository name 输入仓库名称。
- Description输入说明。
- Pubilc/Private 选择公开/私有,Pubilc所有GitHub成员都可以访问,Private只有自己及指定成员才可以访问。
填写好后,点击左下角 Creat repository。
- 生成远程库链接,把它复制下来。
2. Git本地仓库初始化
- Git结构:
工作区:写代码
暂存区:临时存储
本地库:历史版本
2.0 打开Git
在需要管理的代码目录文件夹中,右键 - Git Bash Here
2.1 git init
- 功能
git init:初始化一个新本地仓库,它会在工作目录下生成一个.git的隐藏文件夹来管理仓库,千万不要删掉它。
2.2 git status
- 功能
git status:查看工作区、暂存区的文件状态。
字体颜色红色:未添加到暂存区的文件。
字体颜色绿色:添加到暂存区的文件。
2.3 git config user.name,git config user.email
用户签名设置
- 用户签名设置。项目/仓库级别。仅在当前本地库目录范围有效。
git config user.name:查看用户签名。
git config user.email:查看用户签名。
git config user.name xuserName:设置用户签名 xuserName。
git config user.email xuserEmail:设置用户签名 xuserEmail。
- 用户签名设置。系统用户级别。当前操作系统的用户。
git config --global
git config --global
- 级别优先级
项目/仓库级别 优先于 系统用户级别。
如果没有 项目/系统签名,会使用系统用户签名。
不能两者都没有。
2.4 git add
- 功能
git add:将工作区中 新建/修改/删除的文件内容,添加到暂存区。
- 参数列表
git add -A:提交所有变化( -A == --all )
git add -u:提交被修改(modified)和被删除(deleted)的文件,不包括新文件(new)。( -u == --update)
git add . :提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add <path> :等同于 git add .
git add -h:git add 查看帮助,git add --help可以查看更详细内容
这里我们使用 git add -A。接着使用 git status 去查看哪些被添加到了暂存区。
2.5 git commit
- 功能
git commit:将暂存区的内容提交到本地库。
- 参数列表
git commit [fileName] :将暂存区中的 [fileName] 文件,提交提交到本地库。(需要在弹出的vim中添加提交消息)
git commit :将暂存区的所有文件提交到本地库。(需要在弹出的vim中添加提交消息)
git commit -m "commit message" :将暂存区的所有文件提交到本地库。(命令行中输入提交消息直接提交)
git commit 提交本地库后, git status 提示没有什么需要提交的了,因为文件已经被提交过了。
之后便可将此分支,上传GitHub托管。
3. 本地提交代码到GitHub远程仓库
3.1 git remote
- 功能
git remote 创建远程库地址别名
- 参数列表
git remote -v:查看当前所有远程地址别名
git remote add [别名] [远程地址链接]:创建远程库地址别名(以后就可以使用别名直接push、pull了)
fetch地址用来取回代码,push地址用来推送
3.2 git push
- 功能
git push:将本地版本库的分支推送到远程服务器上对应的分支。
- 参数列表
git push [别名] [分支名]:本地版本库的分支推送到远程服务器上对应的分支。
(需要在弹出窗口填入自己GitHub账号和密码)
提交服务器成功,重新查看云端仓库,代码已同步到GitHub。文件夹中的 README.txt 会默认在下方显示。
修改过 README.txt 文件后,push再次推送的过程:
与上面第一次push对比,内容发生了改变。
4. 从GitHub远程仓库获取代码
4.1 git clone
- 功能
git clone [远程地址]:将远程库代码完整的下载到本地。(不需要提前 git init操作)
看到别人有比较好的开源项目想要获取下来,无需进行 git init ,直接 git clone [远程地址]。clone会自动创建 .git文件和 origin 远程地址别名。(只有第一次拉取用 clone,以后都用 pull)
4.2 git pull
- 功能:
拉取代码到本地。(只有第一次拉取用 clone,以后都用 pull)
git pull [远程库地址别名] [远程分支名]
pull = fetch + merge