您的位置:

Linux下常用Git命令及使用技巧

一、Git简介

Git是一个常用的分布式版本控制系统,它可以帮助我们更好地管理代码,并且可以追踪文件的变化。使用Git可以帮助我们轻松地恢复以前的版本,或者在多人协同工作的时候更好地管理代码。

Git的三个核心概念分别是仓库、分支和提交。仓库就是所有代码的存储地址,分支则是在仓库中创建的不同版本。提交则是将代码变更保存到本地库中的一个过程。

二、Git常用命令

1. 创建Git仓库

$ mkdir myproject
$ cd myproject
$ git init

在一个空目录下使用git init来创建一个Git仓库。

2. 克隆远程仓库

$ git clone username@host:/path/to/repository
$ git clone https://github.com/username/myproject.git

使用git clone命令可以将远程仓库复制到本地。

3. 添加文件到本地库

$ git add filename

使用git add命令可以将文件添加到本地库。

4. 提交变更到本地库

$ git commit -m "commit message"

使用git commit命令可以将变更提交到本地库,-m选项并加上提交说明。

5. 从本地库提交到远程库

$ git push origin master

使用git push命令将本地库中的变更提交到远程库中,origin为远程库的地址,master为本地分支名称。

6. 从远程库同步代码到本地库

$ git pull

使用git pull命令可以将远程库中的代码同步到本地库中。

7. 显示文件的差异

$ git diff filename

使用git diff命令可以查看文件的变更差异。

8. 查看Git日志

$ git log

使用git log命令可以查看Git的提交日志信息。

三、Git使用技巧

1. 使用命令别名

你可以通过git config命令来创建Git别名,例如将git status命令设置为gst

$ git config --global alias.gst 'status'

此时你可以使用gst命令代替git status来查看仓库状态。

2. 使用Git分支

使用Git分支可以轻松地管理代码的不同版本,例如在创建新功能的时候可以在分支上工作,避免影响到主分支。

$ git branch feature_brach    // 创建一个feature分支
$ git checkout feature_branch  // 切换到feature分支
$ git branch                   // 查看当前分支
$ git merge feature_branch     // 将feature分支合并到master分支

3. 使用Git忽略文件

在Git中,你可以使用.gitignore文件来忽略某些文件或目录,以避免将不必要的文件提交到仓库中。

target/
logs/
*.log

以上内容会忽略target目录下的所有文件以及所有.log后缀的文件。

4. 将代码提交到多个远程仓库

可以使用git remote命令将代码提交到多个远程仓库中,例如:

$ git remote add github https://github.com/username/myproject.git
$ git remote add aliyun https://code.aliyun.com/username/myproject.git
$ git push github master
$ git push aliyun master

以上代码将代码同时提交到github和阿里云的远程仓库中。

5. Git修复错误提交

当你在提交代码时发生错误,可以使用git commit --amend命令来修复:

$ git commit --amend

该命令会打开编辑器,允许你修改提交的信息。当你完成修改并保存后,新的提交会取代之前的提交。

6. 撤销变更

使用git reset命令可以撤销之前的变更。例如可以使用git reset HEAD filename命令来撤销文件的修改,或者使用git reset --hard命令来撤销所有变更(包括文件)。

7. Git恢复变更

当你像上一节的示例一样使用git reset --hard命令删除所有变更时,还可以使用git reflog命令来查看之前所有变更,并使用git reset HEAD@{index}来恢复特定的变更。

四、总结

使用Git可以更好地管理代码,可以轻松地恢复以前的版本,并且可以避免多人协同工作时造成的代码冲突。在使用Git时,建议在适当的时候使用分支来避免对主分支的影响。此外,也可以通过设置配置文件或使用命令别名来提高效率。