一、Git基础知识
Git是一款分布式版本控制系统,可以用于协调多个人的代码管理。Git将代码存储在仓库中,每个仓库都有一个唯一的URL地址。Git有三个工作区域:工作区、暂存区和版本库。工作区是修改代码的地方;暂存区是暂存修改的地方;版本库是最终保存修改的地方。
Git基础命令:
/* 初始化本地仓库 */
$ git init
/* 克隆远程仓库 */
$ git clone [url]
/* 添加文件到暂存区 */
$ git add [filename|dir]
/* 提交暂存区的文件到版本库 */
$ git commit -m [commit-message]
/* 推送修改到远程仓库 */
$ git push [remote-name] [branch-name]
/* 拉取远程仓库最新代码 */
$ git pull [remote-name] [branch-name]
/* 查看工作区、暂存区和版本库的状态 */
$ git status
/* 查看修改 */
$ git diff [filename]
二、从远程仓库拉取代码
如果你已经加入了一个开发团队,你的同事们已经为你设置了一个远程Git仓库,并添加了你的账号,那么你可以很方便地从远程仓库拉取代码。首先,你需要知道仓库的URL地址。如果你是团队新成员,你可能需要获取这个URL地址。然后,在你的计算机上打开Git Bash,进入你想要将代码存放的目录:
/* 进入目录 */
$ cd /path/to/directory
/* 克隆远程仓库 */
$ git clone [url]
现在,你的本地仓库已经被克隆到了你的计算机上。可以使用cd命令进入到这个目录中。
三、从本地仓库拉取代码
如果你已经在你的计算机上有一个Git本地仓库,并且你想要从这个仓库拉取代码,你可以通过执行git pull命令来完成。这个命令会从远程仓库拉取代码并将它合并到你的本地仓库中。在执行git pull命令之前,请确认你已经在本地仓库中设置了远程仓库:
/* 设置远程仓库 */
$ git remote add [remote-name] [url]
/* 拉取远程仓库最新代码 */
$ git pull [remote-name] [branch-name]
以上命令中,[remote-name]是远程仓库的名称,可以是任何名称,但是通常是“origin”;[url]是远程仓库的URL地址;[branch-name]是分支的名称,默认是“master”。执行git remote add命令之后,你可以通过执行git remote -v命令来验证你已经成功地设置了远程仓库。
四、使用git fetch拉取代码
你也可以使用git fetch命令来拉取代码。git fetch命令与git pull命令的区别在于,它不会自动将代码合并到你的本地仓库中。而是将代码拉取到你的本地仓库中,并将代码存储在一个远程分支中。你可以随时将代码合并到你的本地分支中。执行git fetch命令时,你需要指定远程仓库的名称和分支的名称:
/* 拉取远程代码 */
$ git fetch [remote-name] [branch-name]
/* 查看远程分支 */
$ git branch -a
以上命令中,[remote-name]是远程仓库的名称,可以是任何名称,但是通常是“origin”;[branch-name]是分支的名称,默认是“master”。在执行了git fetch之后,你可以通过执行git branch -a命令来查看远程分支和本地分支。在拉取了远程代码之后,你可以使用git merge命令将远程分支合并到你的本地分支中。
五、使用git checkout切换分支
在一个Git仓库中,通常会有多个分支。你可以通过执行git branch命令来查看所有的分支。如果你需要切换到一个新的分支,你可以使用git checkout命令。在切换分支之前,请保存并提交你的修改:
/* 查看分支 */
$ git branch
/* 切换分支 */
$ git checkout [branch-name]
以上命令中,[branch-name]是你想要切换的分支的名称。在切换到一个新的分支之后,你可以开始在新的分支上进行开发。如果你需要回到原来的分支,你可以再次执行git checkout命令,并输入原来分支的名称。
六、使用git reset撤销修改
如果你在修改代码时犯了错误,你可以使用git reset命令来撤销修改。git reset命令可以回滚你的修改,恢复到上一个提交的版本。在执行git reset命令之前,请确认你已经提交了你的修改:
/* 恢复到上一个提交的版本 */
$ git reset --hard HEAD^
以上命令中,HEAD^表示上一个提交的版本,也可以使用commit的SHA1值。如果你恢复到了上一个提交的版本之后,你的修改将会全部丢失。因此,在执行git reset命令之前,请确保你已经将所有的修改保存并提交了。如果你只是想要丢弃暂存区的修改,而不是回滚全部的修改,你可以使用git reset命令,并指定文件的名称:
/* 撤销暂存区的修改 */
$ git reset [filename]
七、使用git stash保存和恢复修改
在你修改代码时,可能需要临时切换到其他的工作分支。如果你不想将你的修改提交到版本库中,又不想丢失你的修改,你可以使用git stash命令。git stash命令会将你的修改保存到一个栈中,随时可以恢复。
/* 保存修改到栈中 */
$ git stash
/* 恢复栈中的修改 */
$ git stash apply
以上命令中,执行git stash命令之后,你的修改会被保存到一个栈中。你可以随时恢复这个栈中的修改。在执行git stash apply命令时,Git会将最近一次保存的修改应用到你当前的工作分支上。如果你已经保存了多个修改,并且想要恢复其中的一个修改,你可以使用git stash list命令查看所有被保存的修改,然后使用git stash apply命令恢复其中一个修改。如果你想要删除一个保存的修改,你可以使用git stash drop命令。