Git经常使用命令及公钥配置

    原本我之前都是用Eclipse内的git来进行版本管理的,全部的操做都只是在图形化界面点几个按钮,可是最近换成了原生态的git,全部的操做都回到命令行界面,因此在这里记一下一些命令,省得往后忘记。git

安装完git以后,先进行简单的配置(用来配置你的姓名和邮箱):vim

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

新建一个文件夹,而后进入当前目录,能够用init来将当前目录变成git能够管理的仓库:ssh

$ git init

修改文件,将其放入本目录下,而后能够用add将文件添加进仓库(add能够一次添加多个文件):gitlab

$ git add test.py test1.py

add完后,就能够用commit正式将文件提交进仓库了:测试

$ git commit -m "add 2 new files."

status能够查看当前仓库的状态(文件提交状态等等):命令行

$ git status

status也许能够告诉你哪些文件被修改了,可是你要查看那些文件到底哪被修改了,就得用到diff了,若是diff后面跟两个版本id的话,就是列出这两个版本之间的修改之处:日志

$ git diff test.py
$ git diff f9595003761bcef0c25307a4950c24851546a633 9ec0b82d6b1288018f7e5f0d9a9bc2b4d1b48b13

发现代码写错了,不想提交,想回到原来的版本:code

git checkout test.py

有时咱们提交的版本太多了,想要查一下历史记录的话,就能够用log命令:ip

$ git log
$ git log -3 #查看近3条日志(下方为输出日志,用...省略了部份内容)
commit 853c7c7...2013e2c7247f
Merge: 5b..fb f1..0
Author: huahao <hu...i>
Date:   Wed Jan 31 09:48:25 2018 +0800

    Merg...sis into huahao
...
...
...

回滚到任意版本:rem

# 853c7c7...2013e2c7247f即上一条命令git log所打印的日志中的commit后面跟的内容
git reset --hard 853c7c7...2013e2c7247f 
# 强制提交到master分支
git push -f origin master

拉取一个分支:

$ git checkout -b dev origin/dev

切换到一个分支:

$ git checkout dev

建立一个分支并切换到该分支:

$ git checkout -b new_branch_name

根据某个tag来建立新的分支(用于从某个tag节点来开始从新写代码):

git branch new_branch_name tag_name

根据某个分支来建立新的分支(如根据线上master建立new_branch分支):

git checkout -b new_branch origin/master

将代码放到暂存区(当写代码写到一半,须要紧急修复一个bug,可是又不想提交当前代码时,能够先将写到一半的代码放到暂存区):

git stash

将代码从暂存区取出来(取的是全部暂存进去的代码):

git stash pop

查看当前所在分支:

$ git branch

拉取云端代码库代码:

$ git pull

合并指定分支到当前分支(-m后面跟的是提交的备注):

$ git merge --no-ff -m "merge with no-ff" branch_name

合并错了,恢复一下:

git reset --hard

将代码提交到云端指定分支:

$ git push origin branch_name

 

以上是经常使用的git命令,下面再记录一下公钥的配置,省得之后忘记:

1.打开ssh目录:

cd ~/.ssh

2.生成密钥文件,这样就会生成默认名字为id_rsa和id_rsa.pub(自行修改成本身的邮箱地址):

ssh-keygen -t rsa -C "YOUR_EMAIL@YOUREMAIL.COM"

3.打开公钥文件(id_rsa.pub),并把内容复制至代码托管平台上(找到代码托管平台的部署公钥管理):

vim ~/.ssh/id_rsa.pub

4.完成,能够自行测试一下:

ssh -T git@mygit.com

 

P.S. gitlab中新建git后的提示命令,可供参考(*****是被打码的部分,自行替换那个值):

Git global setup

git config --global user.name "h***o"
git config --global user.email "h*****i"

Create a new repository

git clone git@gitlab.*********.git
cd d****s
touch README.md
git add README.md
git commit -m "add README"
git push -u origin master

Existing folder or Git repository(自行替换existing_folder

cd existing_folder
git init
git remote add origin git@gitlab.*******.git
git add .
git commit
git push -u origin master
相关文章
相关标签/搜索