准备工作
-
下载 git软件,默认安装后在桌面任意地方右键选择 Git Bash Here ,表示 Git 安装完成, Git Bash 的命令和Linux 很像,可以使用
help
/date
/time
/pwd
/cd
/ls
/exit
等等 -
Mac下双击git-xxx.pkg安装包安装时,会出现没有权限不能直接安装的情况,解决方式是按住control键后,再点击pkg文件,此时弹出安装程序的界面,然后选择打开,就可以完成安装了。
本地初始化一个项目
安装完 Git 首要任务就是设置用户名与设置邮件(即注册的用户名和邮箱)。这样做很重要,因为每一个 Git 的提交都会使用这些信息,并且它会写入到你的每一次提交中,不可更改:
git config --global user.name "你的名字或昵称"
git config --global user.email "你的邮箱"
然后在自己电脑某个盘建立本地仓库文件夹,在你的需要初始化版本库的文件夹中执行:
git init
git remote add origin <你的项目地址> //注:项目地址形式为:http://gitee.com/xxx/xxx.git
这样就完成了一次版本你的初始化。如果你想克隆一个项目,只需要执行:
git clone <你的项目地址>
如果您需要同步,即选择保留线上的 readme.md 文件,则需要先执行:
git pull origin master
完成第一次提交
进入你已经初始化好的或者克隆项目的目录,然后执行:
//<这里需要修改/添加文件,否则与原文件相比就没有变动>
git add <文件>
git commit -m "第一次提交"//将代码提交到本地HEAD
git push origin master
补充:如果你嫌弃文件太多,一次次add感觉很麻烦,那么可以试试使用命令
git add .
全部提交,.
表示提交当前目录所有文件。
然后如果需要账号密码的话就输入账号密码,这样就完成了一次提交。
按照本文档新建的项目时,在线上仓库上已经存在 readme 文件,故在提交时可能会存在冲突,这时需要选择的是保留线上的文件或者舍弃线上的文件,如果您舍弃线上的文件,则在推送时选择强制推送,强制推送需要执行下面的命令:
git push origin master -f
origin代表的是你远程的仓库,可以通过命令 git remote -v
查看,master是分支名,一般来讲,默认情况下,在执行clone或者其他操作时,仓库名都是 origin
,如果说我们想给他改改名字,比如我不喜欢origin这个名字,想改为 oschina ,那么就要在仓库目录下执行命令:
git remote rename origin oschina
这样,你的远程仓库名字就改成了oschina,同样,以后推送时执行的命令就不再是 git push origin master
,而是 git push oschina master
。
- 修改仓库对应的远程仓库地址
git remote set-url origin <仓库地址>
- 查看当前仓库对应的远程仓库地址
git remote -v
- 文件提交后,使用
git log
命令查看查看历史提交记录 - 如果本地文件有改动,
git status
可以查看查看文件状态变化(新增/删除/修改),也可使用git diff <文件名>
比对本地和版本库里面的文件 git stash
将当期本地改动暂存,git stash pop
恢复最后一次暂存的改动,git stash list
查看有多少暂存git reset --hard
回退到前一版本- 放弃某一个文件的修改
git checkout <文件名>
- 回退到某一版本但保存自该版本起的修改
git reset <提交的版本号>
git commit --amend
修改提交信息,或者修改你添加、修改和移除的文件的快照
使用公钥认证管理避免输入密码
向线上版本库写入最常用到的协议是 SSH 协议,因为 SSH 协议使用公钥认证,可以实现无口令访问,而若使用 HTTPS 协议每次身份认证时都需要提供口令。使用 SSH 公钥认证,就涉及到公钥的管理。
- 首先在Git Bash中输入:
ssh-keygen -t rsa -C "your email@xxx.com"
生成ssh公钥,该命令会在当前用户文件夹下,生成.ssh 文件夹,里边有个 id_rsa.pub文件,用记事本打开,复制其中的全部内容 - 查看你的 public key,并把他添加到码云SSH key添加地址
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc...
- 输入命令
ssh -T git@gitee.com
测试下是否联通,若返回Welcome to Gitee.com, yourname!
则证明添加成功。
http(s)方式如何自动记住密码
- 按照以下设置记住密码十五分钟:
git config --global credential.helper cache
- 如果你想自定义记住的时间,可以这样:
git config credential.helper 'cache --timeout=3600' //这里记住的是一个小时,如需其他时间,请修改3600为你想修改的时间,单位是秒
- 你也可以设置长期记住密码:
git config --global credential.helper store
- 或修改仓库的地址带上你的账号密码
http://yourname:password@git.oschina.net/name/project.git //注意,码云平台同时支持个性地址与邮箱,当使用邮箱时,请对@符号使用%40替换
- 如果你原本使用的 ssh 地址想更换成 http(s) 地址,可以执行以下命令:
//删除原本的ssh仓库地址
git remote rm origin //origin 代表你原本ssh地址的仓库的别名
//新增http地址的仓库
git remote add origin http://gitee.com/username/project.git
# 查看本地分支
git branch
# 切换分支命令
git checkout -b v1 origin/v1
# 切换回master
git checkout master
更多参考资料,见Git官方文档