<code class="language-html">~/
~/start_trojan
history

:q 

ls -altrh
cd ..
ls -altrh
clear
cd name_test_config
ls
cd ..
mv name_test_config/ my_test
ls
ls -altrh
cd my_test/
ls
touch READNE
git status  ==&gt;(README  red)
git add README
git status==&gt;(new file:README  green)
touch useless_file
git stats==&gt;(usless file  red)
touch history
git status
git add history
git status
git commit -m 'inintial commit'
git status
git log
git rm status
git status

:w

获取最新代码 git pull

<code class="language-java">sudo vim 
:w name
:q
sudo gedit
sudo nano
ctrl+x

提交代码 git add/commit/push

查看历史 git log/show

做代码比较 git diff

<code class="language-html">
git --version ==&gt;get version 2.7.4
cat ~/git ==&gt;.gitbook/  .gitconfig
cat ~/gitconfig==&gt;[user]name/email[core]
vim ~/gitconfig
cat ~/config==&gt;bianji  xinname email core
mkdir_test_git==&gt;chuangjainmulu
cd test_git
ls
ls -altrh
mikdir name
cd le^c
mv name_test_config
cd name_test_config
ls
git init .
ls -altrh
vim .git./
git commit ^c
vim .git
git config user.name=name
vim ~/.bashrc

git 的典型工作过程是;

  • 程序员A修改了代码。(通过git status/diff查看修改的情况)
  • 程序员A把修改后的文件,(通过git add/rm)放到了git的"待提交代码列表"中。
  • 程序员A把“待提交的代码”提交(通过git commit)
  • 程序员A把“本地的commit“ 同步到远程的git服务器上(通过git push)
  • 程序员B 把程序员A的代码(通过git pull/merge)同步到本地
  • working directory: 当前的代码目录

  • branch: 代码的分支。 在本地可以有,在远程也可以有。

  • commit: 每次的代码的提交。每个commit 都对应一个40位的字符串,例如

    e4b924e3e0c03a6d71effc3bc3075c2596c14cf3

  • 提交时需要:(代码review的小要求)

  • 有正确的 用户名和电子邮件.
  • comments 中就不要有"由XX操作"了。重复。
  • 这样会在当前repository目录下的. git /config中写入配置信息
  • 成本地修改的所有patch(多少次提交就多少个.path文件):

    $ git format-patch origin

    生成单个patch文件(例子中是将最近5次提交的内容合并到一个文件中):

    $ git format-patch -5 --stdout  &gt; patch_by_siwei.txt

    往远程服务器上提交分支:

    $ git push origin [本地分支名]:[远程分知名(push之后就存在了)]
    git push origin my_local_branch:lily

    apply patch

    $ git pull . master    (把远程的master更新到当前的本地分支)

    git patch/apply 某一个commit

$ git -config user.name "Jike Song"
$ git -config user.email [email]albcamus@gmail.com[/emai
$ git pull . master    (把远程的master更新到当前的本地分支)