git的命令

https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000


我把git命令都按顺序记录...(sudo可以用sudo su去掉..)

安装git:

apt-get install git

创建目录:

mkdir learngit

用cd命令进入..

创建git仓库(初始化):

git init

配置一下姓名和邮箱:

git config user.name "jax"
git config user.email "[email protected]"
创建一个文件:

touch readme.txt
添加该文件:

git add readme.txt

编辑文件内容:

vim readme.txt
插入:

i

保存退出:

esc

:wq!

提交:

git commit -m "commit one file"
修改文件,然后查看修改:

git diff

重新上传:

git add readme.txt

查看状态:

git status

查看日志:

git log
回到上一个版本:

git reset --hard HEAD^

查找版本id:

git reflog
根据版本id回到版本:

git reset --hard HEAD a706b3d

撤销修改:

git checkout -- readme.txt

删除文件:

git rm readme.txt

git commit -m "remove readme.txt"

设置秘钥:

 ssh-keygen -t rsa -C "[email protected]"
回车回车回车...

找到公共秘钥:

cd ~/.ssh
查找和复制公钥:

cat id_rsa.pub
登陆GitHub,点击setting,点击SSH and GPG keys添加公钥,添加一个learngit仓库

检查ssh:

ps -e|grep ssh

如果只有agent,安装openssh-server:

sudo apt-get install openssh-server

本地仓库关联:

git remote add origin [email protected]:jaxma/learngit.git

(无法关联或者出错,删除远程仓库:git remote rm origin)

推送远程仓库:

git push -u origin master

创建dev分支:

git checkout -b dev

列出所有分支:

git branch

合并到master分支:

先切换到master分支 git checkout master

后合并 git merge dev

删除分支:

 git branch -d dev

强制删除 git branch -D dev

查看分支合并情况:

git log --graph

git log --graph --pretty=oneline --abbrev-commit

储存工作现场(分支)

git stash

新建bug分支

git checkout -b inssue-101 这时上面储存的分支进行的文件改动在这个分支下是看不到的

提交、合并bug分支,删除bug分支

git merge --no-ff -m "merged bug fix 101" issue-101
git branch -d issue-101

查看工作现场

git stash list

恢复的同时把stash内容也删了

git stash pop

恢复指定stash内容

git stash apply stash@{0}

查看远程库的信息

git remote -v

创建远程origin的dev分支到本地

git checkout -b dev origin/dev

推送分支到远程库

git push origin dev

推送失败,抓取远程最新提交

git pull

抓取远程最新提交失败,指定本地分支和远程分支在链接

git branch --set-upstream dev origin/dev

创建标签

git tag v1.0

找到历史提交的commit id并创建标签

git log --graph --pretty=oneline --abbrev-commit

git tag v1.0 0123456

查看所有标签

git tag

查看标签信息

git show v1.0

gpg(GnuPG)生成公钥和密钥,公钥给对方加密,密钥自己解密

通过-s用私钥签名一个标签

git tag -s v1.0 -m "mytag" 0123456

推送标签到远程

git push origin v1.0

一次性推送本地标签到远程

git push origin --tags

删除本地标签

git -d tag v1.0

删除远程标签

git push origin :refs/tags/v1.0

码云

找到公共秘钥:(sudo su)

cd ~/.ssh

cat id_rsa.pub

选择右上角用户头像 -> 菜单“修改资料”->SSH公钥 填好提交

控制面板->点加号创建新项目

同时对github和gitee进行关联

先删除原本对github的关联

git remote -v查看

git remote rm origin 删除

重新关联github,将origin改成github

git remote add github [email protected]:jaxma/learngit.git

本地和码云远程库关联

git remote add gitee [email protected]:jaxma/learngit.git

分别推送

git push github master

git push gitee master

git显示不同颜色

git config --global color.ui true

配置别名(status)

git config --global alias.st status

git config --global alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"(这个666)

配置文件路径

.git/config

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章