Git是本地代码管理工具。Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
1.Git init
Git init:初始化一个仓库
我们初始提交代码时,需要先新建一个干净的仓库,此时可以使用Git init来初始一个仓库,如图选择代码问价所在的目录右键进入Git Bash窗口:
Git常见命令
执行完命令后将会在该目录下新增一个.git的文件夹(该文件夹是隐藏起来的,计算机默认是不显示的,可更改文件显示设置让其显示出出来。里面包含Git的一些文件,不要随意取更改它们),如图:
Git常见命令
2.Git add
Git add 文件名称:添加文件到Git暂存区
如果要提交所有的文件,使用Git add * ;如果要提交单个文件则使用Git add 文件名,如图所示:
Git常见命令
Git常见命令
3.Git commit
Git commit -m “message”:将Git暂存区的代码提交到Git中;
Git常见命令
4.Git checkout 文件名
Git checkout 文件名:将单个文件代码回滚到上次提交的版本;此回滚是先在Git暂存区中查找,如果暂存区中有则回滚暂存区中的代码;如果暂存区中没有则再去Git上回滚该代码;
例如,修改test.py中代码,增加两句:print("111")/print("222")
提交到Git暂存区,后在回滚代码;
Git常见命令
将修改的提交到代码暂存区中,再修改test.py中的代码(去掉刚才新增的两行),如图:
Git常见命令

Git常见命令

Git常见命令
5.Git status
Git status:查看代码的修改情况;
Git常见命令
6.cat 文件名
cat 文件名:查看该文件的内容;
Git常见命令
7.Git log
Git log:查看Git提交版本的所有信息,后提交的在上面;
Git常见命令
8.git log --pretty=oneline
git log --pretty=oneline:查看Git版本提交信息,值只显示版本唯一HEAD和提交备注信息(是Git log的简版),后提交的在上面;
Git常见命令
9.Git reset --hard HEAD^
Git reset --hard HEAD^:回滚到上一个版本
Git常见命令
10.Git reset --hard HEAD
Git reset --hard HEAD:回滚到指定的版本,HEAD对应为版本的唯一ID号(HEAD ID可以只写前6位)。
Git常见命令
11.Git reflog
如果在回退以后又想再次回到之前的版本,git reflog 可以查看所有分支的所有操作记录(包括commit和reset的操作),包括已经被删除的commit记录,git log则不能察看已经删除了的commit记录。
Git常见命令
12.git clone [url]
git clone [url]:下载一个项目和它的整个代码历史;
注:git clone [url] -b branchname 表示:branchname分支名称;

Git常见命令

13.git config

# 设置提交代码时的用户信息
git config [-global] user.name "[name]"
git config [-global] user.email "[email address]"
14.git rm
$ git rm [file1] [file2] ...
删除工作区文件,并且将这次删除放入暂存区
15.其他
# 列出所有本地分支$ git branch
# 列出所有远程分支$ git branch -r
# 列出所有本地分支和远程分支$ git branch -a
# 新建一个分支,但依然停留在当前分支$ git branch [branch-name]
# 新建一个分支,并切换到该分支$ git checkout -b [branch]
# 新建一个分支,指向指定commit $ git branch [branch] [commit]

# 新建一个分支,与指定的远程分支建立追踪关系
$ git branch --track [branch] [remote-branch]

# 切换到指定分支,并更新工作区$ git checkout [branch-name]
# 切换到上一个分支$ git checkout -b
# 建立追踪关系,在现有分支与指定的远程分支之间 
$ git branch --set-upstream [branch] [remote-branch]
# 合并指定分支到当前分支
$ git merge [branch]
# 选择一个commit,合并进当前分支
$ git cherry-pick [commit]
# 删除分支$ git branch -d [branch-name]
# 删除远程分支
$ git push origin --delete [branch-name]
$ git branch -dr [remote/branch]