Git常用命令

git常用命令

0. 克隆一个仓库到本地

git clone git_url

例如:

git clone git@github.com:buaadf/learngit.git

git支持多种协议,包括https,但通过ssh支持的原生git协议最快。

1. 预配置

功能命令
设置用户名git config --global use.name "Yourname"
设置邮箱git config --global user.email "user@email.com"
生成sshssh-keygen -t rsa -C "user@email.com"

2. 本地修改

功能命令
创建(初始化)一个新的仓库(repository)git init
查看工作路径中修改的文件git status
查看某文件的修改git diff <file>
添加所有当前修改至下一次提交列表git add .
添加某文件修改至下一次提交列表git add -p <file>
提交全部修改git commit -a
提交修改并添加修改说明git commit -m "修改说明"
修改上一次提交git commit --amend

3.查看提交(commit)日志

功能命令
显示所有提交日志,从最新的一次开始git log
显示某一文件的提交日志git log -p <file>
查看“谁”在“什么时间”对某一文件进行了“什么修改”git blame <file>

4. 分支和标签

功能命令
列出所有分支git branch -av
切换分支git checkout <branch_name>
创建新的分支git branch <new_branch_name>
基于一个远程分支创建新的tracking分支git checkout --track <remote/branch_name>
清除本地分支git branch -d <branch_name>
为当前提交打标签git tag <tag_name>

5. 远程库

一般使用github作为远程库,在使用github前,需要在github进行注册,并添加ssh。
一般情况下,< remote_name>=origin

功能命令
关联一个远程库git remote add <remote_name> git@server-name:path/xxxx.git
关联后第一次推送master分支git push -u <remote_name> master
此后,每次本地提交后,可直接推送git push <remote_name> master
列出当前配置的远程库git remote -v
查看远程库的信息git remote show <remote_name>
从远程库下载所有修改,但不合并到HEADgit fetch <remote>
从远程库下载所有修改,并合并到HEADgit pull <remote> <branch>
删除一个远程库的分支git branch -dr <remote/branch>
推送标签git push --tags

6. 合并merge&rebase

功能命令
将某分支合并到当前分支git merge <branch>
将当前分支合并到某分支git rebase <branch>
丢弃一个合并(rebase)git rebase --abort
在解决冲突后继续rebasegit rebase --continue
使用配置好的合并工具来解决冲突git mergetool
查看分支合并图git log --graph --pretty=oneline --abbrev-commit

7. 撤销

功能命令
丢弃本地工作区的所有修改git reset --hard HEAD
丢弃本地某文件的修改git checkout HEAD <file>
丢弃暂存区的修改git reset HEAD <file>
丢弃工作区的修改git checkout -- <file>
恢复一次提交(通过一次新的提交,进行相反的修改)git revert <commit_id>
重置HEAD到之前的提交,并丢弃那次提交后的所有修改git reset --hard <commit_id>
重置HEAD到之前的提交,并保存所有修改(unstaged)git reset <commit_id>
重置HEAD到之前的提交,并保存所有未提交的本地修改git reset --keep <commit_id>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值