查看git版本
git --version
打印版本号为 git version 1.8.3.1
最常用的 git 命令有:
add 添加文件内容至索引
bisect 通过二分查找定位引入 bug 的变更
branch 列出、创建或删除分支
checkout 检出一个分支或路径到工作区
clone 克隆一个版本库到一个新目录
commit 记录变更到版本库
diff 显示提交之间、提交和工作区之间等的差异
fetch 从另外一个版本库下载对象和引用
grep 输出和模式匹配的行
init 创建一个空的 Git 版本库或重新初始化一个已存在的版本库
log 显示提交日志
merge 合并两个或更多开发历史
mv 移动或重命名一个文件、目录或符号链接
pull 获取并合并另外的版本库或一个本地分支
push 更新远程引用和相关的对象
rebase 本地提交转移至更新后的上游分支中
reset 重置当前HEAD到指定状态
rm 从工作区和索引中删除文件
show 显示各种类型的对象
status 显示工作区状态
tag 创建、列出、删除或校验一个GPG签名的 tag 对象
1.在Git Bash中
1.1 说明
首先以个人创建的一个项目hello-world,内容如下所示
在本机上的所在目录为/d/gitProject/hello-world存放数据,与github对应。
1.2 git版本
$ git --version
git version 2.9.0.windows.1
1.3 git config 常用配置选项
查看配置
git config --list
配置你的github用户名和和邮箱,邮箱是你github的注册邮箱,用户名是你github的用户名
git config --global user.email "xiaobei17@163.com"
git config --global user.name "Jack"
1.4 将远程仓库里面的项目clone下来
首先进入gitProject路径下,然后执行以下命令。
git clone https://github.com/Jack/hello-world.git
获取数据失败,解决方法:将https改成git
git clone git://github.com/Jack/hello-world.git
1.5 提交数据
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ touch win.txt
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ ls
list2.py README.md win.txt
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git add win.txt
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git commit -m "wwww"
[master b8180c7] wwww
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 win.txt
额外了解一下小知识如下:
//文件添加到仓库(.代表提交所有文件)
git add .
//把文件提交到仓库
git commit -m "First Commit"
最后推送到远程服务器
$ git push
或
git push -u origin master
都报错,大概是因为刚开始缓冲数据的时候将网址修改啦(将https改成git)
此时,我们可以先 git remote -v 查看远程库信息:
$ git remote -v
origin git://github.com/Jack/hello-world.git (fetch)
origin git://github.com/Jack/hello-world.git (push)
可以看到,本地库已经关联了origin的远程库,并且,该远程库指向GitHub。
解决办法如下:
-
1、先输入$ git remote rm origin(删除关联的origin的远程库)
-
2、再输入$ git remote add origin git@github.com:(github名)/(git项目名).git 就不会报错了!
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git remote rm origin
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git remote add origin https://github.com/Jack/hello-world.git
1.5.1不支持TLSv1/TLSv1.1
提交
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git push origin master
fatal: unable to access 'https://github.com/Jack/hello-world.git/': error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
解决方法
- 检查TLS版本
git config http.sslVersion1
如果是tlsv1.0,则用下面一句命令行更新至tlsv1.2
git config --global http.sslVersion tlsv1.2
1.5.2 超时
再次提交
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git push --set-upstream origin master
Fatal: HttpRequestException encountered.
Username for 'https://github.com': lanyan017@163.com
fatal: unable to access 'https://github.com/Jack/hello-world.git/': Failed to connect to github.com port 443: Timed out
解决方法:
git config --global --unset http.proxy
1.5.3 成功解决
yuhai@LAPTOP-NLL20S6E MINGW64 /d/gitProject/hello-world (master)
$ git push --set-upstream origin master
Fatal: HttpRequestException encountered.
Username for 'https://github.com': lanyan017@163.com
Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 303 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://github.com/Jack/hello-world.git
99e11fc..b8180c7 master -> master
Branch master set up to track remote branch master from origin.
这次是真正的提交成功啦,而且中间出现让输入账户名和密码
- Username for 'https://github.com': 输入的是github上的邮箱账号, 而不是github中设置的username, 这是个巨坑!!!
- Password for 'https://你的github邮箱@github.com': 输入github的登录密码,点击enter键即可.
1.6 更新数据
如果还要提交文件到github 上,首先在hello-word路径下,加载所有数据更新到本地。
git pull origin master
2. 在Linux平台(centos7版本)
git版本是2.30.0
[root@iz2zejf0fjkrh3aalbiatoz ~]# git --version
git version 2.30.0
[root@iz2zejf0fjkrh3aalbiatoz ~]#
切换进入/hai/gitProject目录下
2.1 配置git
查看配置
git config --list
配置你的github用户名和和邮箱,邮箱是你github的注册邮箱,用户名是你github的用户名
git config --global user.email "xiaobei17@163.com"
git config --global user.name "Jack"
2.1-1 删除git config错误配置行
- 第一种办法:git的config一般是隐藏在 .git/config,所以你先要找到 .git。 可以使用指令 ls -a 查看全部包括隐藏文件,然后进入 .git ,再编辑 config 就可以以文本方式删除 对象配置项!
- 第二种办法:使用指令 git config --global --unset user.name 删除 ,或者 git config --global --edit 修改
2.2 克隆数据
hello-world 的项目地址是:https://github.com/Jack/hello-world.git
解决方法:将https改成git
git clone git://github.com/Jack/hello-world.git
2.3 提交数据
为了测试提交是否可行,创建一个ll.txt文件
[root@iz2zejf0fjkrh3aalbiatoz hello-world]# touch ll.txt
[root@iz2zejf0fjkrh3aalbiatoz hello-world]# ls
list2.py ll.txt README.md win.txt
[root@iz2zejf0fjkrh3aalbiatoz hello-world]# git add ll.txt
[root@iz2zejf0fjkrh3aalbiatoz hello-world]# git commit -m "LLL"
[master 9600402] LLL
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 ll.txt
可以看到创建好文件,1.添加-->2.提交
最后是3.推送到远程服务器 ,但是前提我们需要修改一下配置
解决方法:
git remote rm origin
git remote add origin https://github.com/Jack-***/hello-world.git
执行3.推送最后一步
git push origin master
如图所示:
去hello-world所在网页查看,成功啦
网友评论