Git常用命令及公钥配置

    本来我以前都是用Eclipse内的git来进行版本管理的,所有的操作都只是在图形化界面点几个按钮,但是最近换成了原生态的git,所有的操作都回到命令行界面,所以在这里记一下一些命令,免得日后忘记。

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

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

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

$ git init

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

$ 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

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

git checkout test.py

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

$ 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
...
...
...

回滚到任意版本:

# 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

转载于:https://my.oschina.net/lonelycode/blog/727498

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值