git常用操作

在服务器上创建一个新项目:git init --bare 项目名.git
如git init --bare example.git
项目创建后,不允许自行在example.git里面添加和修改任何文件。
必须先git clone example.git example后,再在example里面添加或修改文件,然后用git add、git commit和git push origin命令将代码提交到example.git中。
另外,每一位代码提交人都有一个用户名和邮箱地址,是写在example/.git/config文件里面的。
[user]
    name = 用户名
[user]
    email = 邮箱地址

从服务器上通过SSH下载一份已有项目的代码到本地电脑:git clone "ssh://用户名@域名/服务器上的项目路径.git" "要下载到本地电脑的哪个文件夹里面"
如git clone "ssh://oct1158@www.example.com/home/hahaha/xxxxx.git" my_folder
命令执行完成后本地电脑上就会出现my_folder文件夹,里面存放的是刚才下载的代码。
下载完成后需用“git checkout 分支名”命令切换到想要的分支上。

如果ssh需要密钥文件登录,则需要把密钥文件放到~/.ssh/id_rsa中,并且权限必须是400。git会去自动读取,不用加任何命令参数。
密钥文件不能是.ppk格式!!!只能是id_rsa格式。
cp ~/myfile ~/.ssh/id_rsa
chmod 400 ~/.ssh/id_rsa

特别注意:git init和git clone只能二选一,不能两个都执行!!!!
git init是在服务器上创建新项目,git clone是从服务器上下载已有项目的代码到本地。

从服务器上下载最近的代码改动:git pull origin
刚才的git clone是下载一份全新的代码,而git pull origin是只下载最近添加和改动的文件。

查看日志:git log
按回车键往下翻,按q键退出。
里面的每一次提交都有一个40位的编号,如7286d29254b7b1d335eead4c2a2e062917eefd5f。

查看未提交的修改(不包括新创建的且未执行git add命令的文件):git diff

回退到某次提交,恢复所有已修改的文件,但不删除新创建的且未执行git add命令的文件:git reset --hard XXX。
其中XXX是40位编号的内容。XXX参数可省略,代表当前最新提交。

恢复已修改的指定文件:git checkout 文件名

查看所有多余的文件(也就是新创建的,且未执行git add命令的,不在.gitignore忽略列表中的文件):git clean -dn
删除所有多余的文件(不使用回收站,删除后无法恢复!!!):git clean -df

上一篇:阿里云4核16G服务器优惠26.52元1个月、79.56元3个月、149.00元半年


下一篇:【C++】智能指针